Apache が httpd.conf で指定されたユーザーではなく root として実行されている

Apache が httpd.conf で指定されたユーザーではなく root として実行されている

フォルダーの権限を 777 に設定せずに、WordPress が wp-content フォルダーにファイルをアップロードできるようにしようとしています。ただし、いくつか問題があります。

wp-content フォルダに設定されているグループとユーザーは、Apache が httpd.conf で使用するように設定されているグループとユーザーと一致します。ただし、以下のコマンドを実行すると、Apache は実際には httpd.conf で指定されたユーザーではなく、root として実行されているように見えます。

httpd.conf の設定

ユーザーxxx
グループ yyy

Apache を実行しているユーザーを確認するためのコマンド実行

追伸 | grep httpd

上記コマンドの出力

513 1294 0.4 1.4 316420 54864 ? S 08:30 0:06 /usr/sbin/httpd

513 はユーザー xxx の正しい UID なので、正しく表示されます。ただし、wp-content フォルダーの権限を 777 に設定しないと、WordPress 内でファイルをアップロードできません。

ここで何が問題なのか誰か教えてもらえますか?

答え1

Apache は常に root として起動する必要があり、setuid を使用して httpd.conf で指定されたユーザーのユーザー コンテキストに切り替えます。

ルート(uid = 0)なしでは、特権ポート(1024未満)にリスニングソケットを作成することはできません。

詳細については、次のドキュメントをお読みください。

最初のリンクから:

# ps -ef | grep -i http | awk '{print $1}'
root
apache
apache
apache
apache
apache

関連情報