web-dev-qa-db-ja.com

Apacheがhttpd.confで指定されたユーザーの代わりにrootとして実行されている

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

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

httpd.conf設定

ユーザーxxx 
グループyyy 

Apacheが実行しているユーザーを特定するためのコマンド実行

ps aux | 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=内でファイルをアップロードできません。

誰かがここで問題が何であるかを教えてもらえますか?

4
Windows Ninja

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

ルート(uid = 0)がないと、特権ポート(1024未満)で待機ソケットを作成できません

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

最初のリンクから:

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