ライブ サーバーで Drupal サイトの作成を処理する Web アプリ (php) を作成しています。
このシステムは、新しいサイトを作成し、既存のサイトをメンテナンスすることができます。また、これは Web ホスティング環境であるため、各フォルダーは異なるユーザーに属している可能性があります。
それを適切に行うには、apache
ユーザーが他のユーザーとしていくつかのコマンドを実行できるようにする必要があります。
git
新しいファイルを作成する (および/ drush
/etcと対話する) ために私が行うことは、次のようなものです。
$some_command = `echo "PASSWD" | sudo -u USER -S do_something 2>&1; echo $?;`;
ユーザーがユーザーとして実行できる一連のコマンドがsudoers
ファイルに既にあります。apache
git
私の問題はapache
、サーバー上でホスティング アカウントを持つ可能性のある任意のユーザーとして実行する必要があることです。
私の考えは、ファイルにapache ALL=(ALL) ALL
エントリを作成することでした。sudoers
ユーザーのパスワードを要求するこれらのコマンドはすべてそのままにしておきます。
それを念頭に置いて、このアプローチを採用するのは賢明でしょうか? そうでない場合は、ホスティング アカウントを持つユーザーにのみ「すべて許可」ポリシーを適用できます。その場合、ポリシーを 1 つのグループだけに絞り込むにはどうすればよいですか?
ありがとう
編集: Apacheが各PHPスクリプトを所有者として実行できるようにするため、これにはsuPHPを使用します。ただし、別のユーザーとして他のコマンドを実行する必要があるため (他のユーザーのホーム フォルダー/public_html にファイルを作成するなど)、それはオプションではないようです。