ホームページ >バックエンド開発 >PHPチュートリアル >Sudo が必要なシェル スクリプトをパスワード プロンプトを表示せずに PHP から実行するにはどうすればよいですか?

Sudo が必要なシェル スクリプトをパスワード プロンプトを表示せずに PHP から実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 18:24:02392ブラウズ

How Can I Run Sudo-Required Shell Scripts from PHP Without Password Prompts?

PHP から SUDO に必要なシェル スクリプトを実行する方法

PHP 内から昇格された権限を必要とするシェル スクリプトを実行することは、困難な場合があります。 shell_exec() 関数はパスワード プロンプトをサポートしません。ただし、この制限を克服してスクリプトの実行を自動化する方法はあります。

解決策: Sudoers ファイルを変更する

効果的な解決策の 1 つは、sudoers ファイル (通常は次の場所にあります) を編集することです。 /etc/sudoers) にあり、指定されたスクリプトをパスワードなしで実行できるようにするルールを追加します。これを行うには、次の手順に従います。

  1. 次のコマンドを使用して、root 権限で sudoers ファイルを開きます。

    sudo visudo
  2. 行を追加します次の形式:

    www-data ALL=NOPASSWD: /path/to/script

    ここで、www-data は Web サーバーのユーザー名、/path/to/script は昇格された権限を必要とする bash スクリプトへのパスです。

  3. sudoers ファイルを保存して閉じます。

この変更を行うことで、パスワードの入力を求められずに指定されたスクリプトを実行する権限を Web サーバー ユーザーに効果的に付与できます。

これらの手順を完了すると、通常どおり、shell_exec() 関数を使用して PHP から bash スクリプトを呼び出すことができます。スクリプトは、パスワードのプロンプトを表示せずに、昇格された特権で実行されます。

以上がSudo が必要なシェル スクリプトをパスワード プロンプトを表示せずに PHP から実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。