Apache 以 root 身分運行,而不是 httpd.conf 中指定的用戶

Apache 以 root 身分運行,而不是 httpd.conf 中指定的用戶

我正在嘗試使 WordPress 能夠將文件上傳到 wp-content 資料夾,而不將該資料夾的權限設為 777。

wp-content 資料夾的群組和使用者設定與 Apache 配置為在 httpd.conf 中使用的群組和使用者相符。但是,當我執行以下命令時,Apache 實際上是以 root 身分執行的,而不是以 httpd.conf 中指定的使用者身分執行。

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 中指定使用者的使用者上下文。

如果沒有 root (uid = 0),則無法在特權連接埠(低於 1024)上建立偵聽套接字

有關詳細信息,請閱讀此文件:

從第一個連結:

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

相關內容