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 として実行できるように変更するにはどうすればよいですか