我正在尝试使用PHP shell_exec
访问deb系统服务,但我无法让它工作。
这是我试图从php脚本运行的命令:
shell_exec('sudo service icecast2 stop');
但它有两个原因不起作用..
1)我不确定我是否在/etc/sudoers
中授予了正确的用户权限?
%www-data ALL=NOPASSWD: /sbin/???????
2)??????? =我不知道在/ sbin中指向何处允许访问系统服务?我尝试了各种各样的东西,但由于我不确定哪个部分我错了(可能两个)我无法得到任何工作。
任何帮助赞赏;)
在我的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');