php执行shell命令是的权限问题

问题: php在执行shell时使用的默认用户为nobody用户,因此引起命令无法执行返回结果为空的问题。

解决:转换为root或者相应的用户来执行命令

eg: shell_exec('sudo -u root -S your_command');

需要的配置:

a. 配置nobody用户的sudo权限,修改/etc/sudoers

chmod u+x /etc/sudoers

在root    ALL=(ALL)   ALL 下添加  nobody  ALL=(ALL)   ALL

chmod u-x /etc/sudoers

b. 修改sudoer默认需要tty的配置

在/etc/sudoers中注释掉 Defaults    requiretty

你可能感兴趣的:(PHP,shell,command)