本文已参与「新人创作礼」活动,一起开启掘金创作之路。
背景
有时我们需要给普通用户,某个命令的执行权限,但是又不想让这个普通用户能执行更多的其他命令,这时候我们可以配置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