PHP から SUDO を必要とするシェル スクリプトの呼び出し
SUDO を必要とするものなど、高い権限を要求するシェル スクリプトの実行は、次の場合に困難になることがあります。 PHP のshell_exec 関数を通じてそれらを呼び出します。デフォルトでは、shell_exec にはパスワード プロンプトをバイパスするために必要な権限がありません。
解決策: sudoers ファイルを変更する
この問題を解決するには、sudoers ファイルを変更します。ファイル (visudo 経由でアクセス可能) を使用して、Web サーバー ユーザー (www-data など) にパスワードなしでスクリプトを実行する権限を付与します。 sudoers ファイルに追加できるルールの例を次に示します。
www-data ALL=NOPASSWD: /path/to/script
このルールにより、ユーザー www-data はパスワードを指定せずにスクリプト /path/to/script を実行できます。 sudoers ファイルが更新されたら、通常どおり、shell_exec を使用して PHP からスクリプトを呼び出すことができます。
<?php $output = shell_exec('/path/to/script'); ?>
注意: sudoers ファイルに過剰な権限を付与すると、システムのセキュリティが危険にさらされる可能性があります。必要なルールのみを追加し、付与される権限の範囲を最小限に抑えてください。
以上がパスワードプロンプトを表示せずに、PHP から SUDO を必要とするシェルスクリプトを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。