PHP shell_exec访问deb 9上的系统服务

时间:2019-02-27 23:30:43

标签: php debian shell-exec

我正在尝试使用PHP shell_exec访问deb系统服务,但我无法使其正常工作。

这是我尝试从php脚本运行的命令:

shell_exec('sudo service icecast2 stop');

但是它不能工作有两个原因。

1)我不确定是否在/etc/sudoers中授予了正确的用户权限?

%www-data ALL=NOPASSWD: /sbin/???????

2)??????? =我不确定在/ sbin中指向何处以允许访问系统服务?我已经尝试了各种方法,但是由于不确定哪一部分我弄错了(可能两者都错了),所以我什么都没做。

任何帮助表示赞赏;)

1 个答案:

答案 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');