私は、ステージング - >プロダクションパブリッシングスクリプト用のPHPウェブインタフェースを作成しようとしています。 Webインターフェイスは安全です(イントラネット、パスワードなど)ので、私はrsyncを実行するrootユーザーとしてApacheの動作に満足しています。 rootユーザーのパスワードはなく、キーファイルはSSHアクセスに使用されます。PHP shell_exec - パスワードなしでrootとしてRSYNCを使用
私が試してみましたsudoの-INGのシェルスクリプトでrysncコマンドを...
sudo rsync --verbose --recursive --times --perms --links --delete /tmp/dir1/* /tmp/dir2/
とApacheがsudoersファイルに以下を追加することでrsyncを実行できるように...
apache ALL=(ALL) NOPASSWD:/usr/bin/rsync
私は、スクリプトを呼び出すためにPHPのもしくはshell_execを使用しています
...私は次のエラーを取得する
$result = shell_exec('bash /tmp/syncscript.sh 2>&1');
...
sorry, you must have a tty to run sudo
rootユーザーであるかのようにrsyncコマンドを実行できるように設定するにはどうすればよいですか?
ありがとうございます!
私は最後に行ったアプローチではありませんでしたが、それにもかかわらず役に立ちました。私は十分な担当者を得るときに戻って投票します。 –