如何使用nginx,php-fpm和Arch Linux从exec函数sudo

时间:2014-12-13 23:48:36

标签: nginx php archlinux

我可以以任何用户身份登录,sudo whoami无需密码登录,并获得“root”。当我使用php -r 'echo exec("sudo whoami");'尝试此操作时,无论用户是谁,它都能正常工作。但是,当我通过网络服务器(nginx)运行时,我什么都没得到。是什么给了什么?

ps xau | grep php

root 207 0.0 2.6 19876 4992 ? Ss 23:16 0:00 php-fpm: master process (/etc/php/php-fpm.conf) http 228 0.0 1.6 19876 3152 ? S 23:16 0:00 php-fpm: pool www http 229 0.0 1.6 19876 3144 ? S 23:16 0:00 php-fpm: pool www root 326 0.0 0.3 2504 692 pts/0 S+ 23:59 0:00 grep php

1 个答案:

答案 0 :(得分:0)

我将2>&1附加到我的命令以查看错误,并说“sudo:command not found”。

然后我将putenv('PATH=' . getenv('PATH') . ':/usr/sbin');添加到我的php脚本中并且它有效。