
フォルダーの権限を 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