GNU/Linux >> Linux の 問題 >  >> Linux

別のユーザーとして Apache を実行する

ポート 80 にバインドするには、最初に Apache をルートとして実行する必要があります。最初にルートとして実行しないと、ポート 80 にバインドできません。1024 を超えるポートにバインドしたい場合は、可能です。それ以外の場合は、root について心配する必要はありません。これは親 Apache プロセスであり、要求を処理しません。子プロセスを生成し、リクエストを処理する権限を削除します。

Apache ユーザーを変更するには、User を設定します と Group Apache 設定のパラメータ。


@bahamat がとてもよく説明してくれていますが、もう少し詳しく説明します。

通常の操作の過程で、ルート所有の apache プロセスは、ポート 80 でリッスンし、着信接続をそのポートに転送する以外の実際の操作を実行しません (www-data として、安全に非特権)。 ユーザー)子供。

マスター構成ファイルの場所は、コンパイル時のオプションに依存し、ディストリビューションごとに異なりますが、 /etc/apache2/apache2.conf は良い出発点です。

また、マルチユーザー Web ホスティング システムをセットアップしている場合は、SuExec と fcgid を調べて、個々の Web ホスティング ユーザーの apache プロセスがそのユーザーとして実行されるようにすることをお勧めします。ユーザーは影響を受けません。


少なくとも Ubuntu では、この設定は /etc/apache2/envvars にあります。 .それらを微調整してからApacheを再起動すると、オフになって実行されます。


Linux
  1. Suオプション–別のユーザーとしてコマンドを実行しますか?

  2. Apache/Mysqlが実行されていません。間違い?

  3. Apacheを再起動します

  1. UNIX / Linux :シェルとは?異なるシェルとは何ですか?

  2. Apache ユーザーの umask の設定

  3. 各 apache ユーザーを区別して権限を付与する

  1. Linuxでユーザーが実行するプロセスに制限を設定する方法

  2. root と sudo の違いは何ですか?

  3. 別のユーザーとしてシェル スクリプトを実行する