PHPからsudoでコマンドを実行できません(CentOS 7)

PHPからsudoでコマンドを実行できません(CentOS 7)

CentOS 7のPHPスクリプトでsudoコマンドを実行する必要がありますが、エラーが発生します。

sudo:ttyが存在せず、Askpassプログラムが指定されていません。

他の人が提案したように、sudoersファイルを次の行に編集しました。

  1. ttyは必要ありません。

    Defaults:apache !requiretty

  2. 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

おすすめ記事