Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用nginx、php-fpm和Arch-Linux从exec函数执行sudo_Nginx_Php_Archlinux - Fatal编程技术网

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

如何使用nginx、php-fpm和Arch-Linux从exec函数执行sudo,nginx,php,archlinux,Nginx,Php,Archlinux,我可以以任何用户和sudowhoami的身份登录,无需密码即可获得root用户。当我用php-r'echo execsudo whoami;'无论我是什么用户,它都能工作。但是,当我在Web服务器nginx中运行这个程序时,我什么也得不到。有什么好处 ps xau | grep php 根2070.02.6 19876 4992?Ss 23:16 0:00 php fpm:master process/etc/php/php-fpm.conf http 228 0.0 1.6 19876 315

我可以以任何用户和sudowhoami的身份登录,无需密码即可获得root用户。当我用php-r'echo execsudo whoami;'无论我是什么用户,它都能工作。但是,当我在Web服务器nginx中运行这个程序时,我什么也得不到。有什么好处

ps xau | grep php

根2070.02.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 2290.01.6198763144?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

我将2>&1添加到我的命令以查看错误,它说sudo:command not found


然后我添加了putenv'PATH='。getenv'PATH'/usr/sbin';在/etc/sudoers中可以找到sudo设置。不管有没有密码-这是sudo设置。是的,这些都可以。我在那里做过那件事。除了通过Web服务器之外,那里的设置在任何地方都会按预期运行。可能需要在此处添加php ps xau | grep php的uid,例如和包含所有内容的sudoers文件。现在需要检查http用户是否可以使用无密码的sudo。它可以。我必须给它一个bin/bash shell才能登录。但一旦我这么做了,它就可以在没有密码的情况下运行sudo了。我已经用新的shell重新启动了,但仍然没有任何结果。您应该接受这个答案,因为它正是适合您的答案: