0

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 にアクセスしようとすると、2行目しか出力されません

Hi nginx

しかし、最初の行ではありません sudo パーミッションを与えても、セットアップに問題があります。

そのフォルダー/srv/www/user1.somedomain.com/public_html/www_filesでbinファイルを実行するには、sudo権限が必要です

私の主な目的は、somebin を root として実行することでした。なぜなら、root 権限を付与しないと、自分の Web サイトからこの somebin を shell_exec できないからです。1.php は sudo の能力をテストするために作成されました

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

script.php を実行するには

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

1.php を sudo として実行できるように変更するにはどうすればよいです

4

1 に答える 1

0

これでsudoersファイルを更新すると、sudoを実行できるようになります

Default:nginx !requiretty

于 2014-01-04T13:11:00.160 に答える