CentOS 7のPHPスクリプトでsudoコマンドを実行する必要がありますが、エラーが発生します。
sudo:ttyが存在せず、Askpassプログラムが指定されていません。
他の人が提案したように、sudoersファイルを次の行に編集しました。
ttyは必要ありません。
Defaults:apache !requiretty
Apache ユーザーのパスワードを設定しないでください。
apache ALL=(root) NOPASSWD: /path/to/app, /path/to/app2
(このパスが正しいことを再確認しました。)私のエラーは残ります。どんなアイデアがありますか?
答え1
sudo
この行はappとapp2に権限を与えません。
apache ALL=(root) NOPASSWD: /path/to/app /path/to/app2
/path/to/app
上記の行は、引数も渡すとsudo実行権限を与えます/path/to/app2
。複数のコマンドを指定するには、カンマで区切ります。
apache ALL=(root) NOPASSWD: /path/to/app, /path/to/app2