我正在尝试使用PHP shell_exec
访问deb系统服务,但我无法使其正常工作。
这是我尝试从php脚本运行的命令:
shell_exec('sudo service icecast2 stop');
但是它不能工作有两个原因。
1)我不确定是否在/etc/sudoers
中授予了正确的用户权限?
%www-data ALL=NOPASSWD: /sbin/???????
2)??????? =我不确定在/ sbin中指向何处以允许访问系统服务?我已经尝试了各种方法,但是由于不确定哪一部分我弄错了(可能两者都错了),所以我什么都没做。
任何帮助表示赞赏;)
答案 0 :(得分:0)
在我的Debian系统上,service
位于/usr/sbin
中,而不位于/sbin
中。所以应该是:
%www-data ALL=NOPASSWD: /usr/sbin/service
您还应该在shell_exec()
命令中使用完整路径,因为/usr/sbin
可能不在网络服务器的$PATH
中。
shell_exec('sudo /usr/sbin/service icecast2 stop');