我想要一个用户能够重新启动php5-fpm服务。 在visudo,我有以下几点:
username ALL=NOPASSWD: /etc/init.d/php5-fpm
当我su到用户和运行sudo /etc/init.d/php5-fpm stop ,没有任何反应。 没有任何反馈,服务仍在运行。
我需要做什么来允许username来控制服务? 运行Ubuntu 13.10。
编辑:看在auth.log我看到
sudo: username : TTY=pts/1 ; PWD=/var/log ; USER=root ; COMMAND=/etc/init.d/php5-fpm stop
根据rootlash的意见,我相信PHP-FPM二进制文件中的某些东西需要这个用户没有的根(打开端口也许?)。 我已经决定让这个用户触摸一个root用户每分钟检查一次的文件(cron),如果发现,重新启动服务,然后删除文件。
不理想,但努力做到这一点。
你可以修改如下visudo ?
username ALL=NOPASSWD: /etc/init.d/php5-fpm stop username ALL=NOPASSWD: /etc/init.d/php5-fpm stop, /etc/init.d/php5-fpm start
你有SELinux或其他安全经理之一吗? 如果是这样,即使该命令以root用户身份运行,用户可能仍然有他们的安全标签,并且无权访问/ etc中的文件。
您可以暂时禁用SELinux并testing命令是否开始工作。 对于SELinux,我相信你可以使用“setenforce”命令暂时禁用它。
你有没有尝试sudo服务php5-fpm stop / start?
如果这只是添加用户ALL:NOPASSWD:/ sbin / service
到/ etc / sudoers文件