【发布时间】:2013-10-26 15:28:38
【问题描述】:
带有 nginx 的 PHP-Fpm.d,如何在 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 权限才能在该文件夹中运行 bin 文件/srv/www/user1.somedomain.com/public_html/www_files
我的主要目标是以 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/somescript-linux-x86_64/bin/somebin 使用通过网站root
【问题讨论】: