0

PHP-Fpm.d 与 nginx,如何在 shell exec 中运行 sudo

我在 /etc/sudoers 做了以下操作

nginx ALL= NOPASSWD: /srv/www/user1.somedomain.com/public_html/www_files

我尝试在 www_files 中运行这个 php 文件

1.php

echo exec("sudo whoami") . "<br/>";
echo "HI" . exec("whoami");
?>

我尝试通过我的网站 somedomain.com/1.php 访问 1.php,它只输出第二行

Hi nginx

但即使我给予 sudo 权限,第一行也不是,我的设置有什么问题。

我需要 sudo 权限才能在该文件夹/srv/www/user1.somedomain.com/public_html/www_files中运行 bin 文件

我的主要目标是以 root 身份运行 somebin,因为如果我不给它 root 权限,我就无法通过我的网站 shell_exec 这个 somebin。1.php 是为了测试 sudo 能力而创建的

/root/somescript-linux-x86_64/bin/somebin

为了运行 script.php

shell_exec("sudo /root/somescript-linux-x86_64/bin/somebin myfile.js");

如何进行更改,以便我可以以 sudo 身份运行 1.php,然后继续运行我的 script.php,以便它可以通过网站使用 root运行/root/somescript-linux-x86_64/bin/somebin

4

1 回答 1

0

用这个更新你的 sudoers 文件,然后你就可以运行 sudo

Default:nginx !requiretty

于 2014-01-04T13:11:00.160 回答