ステージング用の PHP Web インターフェイスを作成しようとしています-> プロダクション パブリッシング スクリプト。Web インターフェイスは安全 (イントラネット、パスワードなど) であるため、Apache が root ユーザーとして機能して rsync を実行できることをうれしく思います。root ユーザーにはパスワードはありません。SSH アクセスにはキーファイルが使用されます。
シェルスクリプトでrysncコマンドをsudoしてみました...
sudo rsync --verbose --recursive --times --perms --links --delete /tmp/dir1/* /tmp/dir2/
そして、sudoersファイルに以下を追加して、apacheが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 コマンドを実行できるようにするには、どうすればセットアップできますか?
ありがとう!