linux中配置sudo赋予普通用户对某些命令的执行权限

137 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

背景

有时我们需要给普通用户,某个命令的执行权限,但是又不想让这个普通用户能执行更多的其他命令,这时候我们可以配置sudo,设置只能执行某几个命令即可

配置

vim /etc/sudoers#新增如下一行,赋予www用户能sudo执行supervisorctl命令www     ALL=(ALL:ALL)   NOPASSWD:/bin/supervisorctl,/sbin/service php-fpm reload

多个命令可以逗号分隔

这样 www用户就可以直接执行 /bin/supervisorctl status 等命令了

但是 直接执行 /sbin/service php-fpm reload 还是会报错

service php-fpm reloadReload service php-fpm /etc/init.d/php-fpm: line 142: kill: (9419) - Operation not permitted done

所以我们要用下面的方式执行:

sudo /sbin/service php-fpm reload

更多sudo介绍

sudo -i,加载用户变量,并跳转到目标用户home目录;
sudo -s,不加载用户变量,不跳转目录;

原文:www.phpmianshi.com/?id=238