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

来源:互联网 发布:java获取当前系统时间 编辑:程序博客网 时间:2024/06/05 06:58

问题: 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

原创粉丝点击