Apache 以 root 身份运行,而不是在 httpd.conf 中指定的用户

Win*_*nja 5 permissions centos wordpress apache-2.2

我正在尝试启用 WordPress 将文件上传到 wp-content 文件夹,而无需将该文件夹的权限设置为 777。但是,我遇到了一些困难。

wp-content 文件夹的组和用户设置与 Apache 配置为在 httpd.conf 中使用的组和用户相匹配。但是,当我运行下面的命令时,似乎 Apache 实际上是以 root 身份运行的,而不是在 httpd.conf 中指定的用户。

httpd.conf 配置

用户xxx
组 yyy

命令运行以确定用户 Apache 正在运行

ps辅助| 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 中上传文件。

有人可以告诉我这里有什么问题吗?

小智 12

Apache 总是需要以 root 身份启动,然后它使用 setuid 切换到 httpd.conf 中指定用户的用户上下文。

没有 root (uid = 0) 你不能在特权端口上创建监听套接字(低于 1024)

有关详细信息,请阅读此文档:

从第一个链接:

# ps -ef | grep -i http | awk '{print $1}'
root
apache
apache
apache
apache
apache
Run Code Online (Sandbox Code Playgroud)