ホームページ >バックエンド開発 >PHPチュートリアル >Sudo が必要なシェル スクリプトをパスワード プロンプトを表示せずに PHP から実行するにはどうすればよいですか?
PHP から SUDO に必要なシェル スクリプトを実行する方法
PHP 内から昇格された権限を必要とするシェル スクリプトを実行することは、困難な場合があります。 shell_exec() 関数はパスワード プロンプトをサポートしません。ただし、この制限を克服してスクリプトの実行を自動化する方法はあります。
解決策: Sudoers ファイルを変更する
効果的な解決策の 1 つは、sudoers ファイル (通常は次の場所にあります) を編集することです。 /etc/sudoers) にあり、指定されたスクリプトをパスワードなしで実行できるようにするルールを追加します。これを行うには、次の手順に従います。
次のコマンドを使用して、root 権限で sudoers ファイルを開きます。
sudo visudo
行を追加します次の形式:
www-data ALL=NOPASSWD: /path/to/script
ここで、www-data は Web サーバーのユーザー名、/path/to/script は昇格された権限を必要とする bash スクリプトへのパスです。
この変更を行うことで、パスワードの入力を求められずに指定されたスクリプトを実行する権限を Web サーバー ユーザーに効果的に付与できます。
これらの手順を完了すると、通常どおり、shell_exec() 関数を使用して PHP から bash スクリプトを呼び出すことができます。スクリプトは、パスワードのプロンプトを表示せずに、昇格された特権で実行されます。
以上がSudo が必要なシェル スクリプトをパスワード プロンプトを表示せずに PHP から実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。