Apache 是否以 root 身份运行?

Apache 是否以 root 身份运行?

我正在重新考虑我们服务器的权限和组策略。所以我试图检查当前设置下 Apache 访问文件需要哪些权限。

我将index.php的权限改为200(仅限用户写入)。但 Apache 仍然可以读取此文件!然后我重新启动了 Apache,解决了这个问题。Apache 是以 root 身份运行的,还是必须重新启动它才能使权限生效?

答案1

使用 apache 时,您以 root 身份启动它,但 apache 在启动后立即更改其用户。apache 配置文件中的以下内容设置它将以哪个用户身份运行:

User www-data
Group www-data

它通常必须以 root 身份启动,这样它才能绑定到端口 <1024。因此,ps aux按照 wonble 所说的运行来查看它是如何启动的,如果您想更改它以哪个用户身份运行,请调整这些指令。

答案2

在许多 Linux 发行版中,Apache 默认以 www-data 形式运行

如果不了解你的分布情况就很难判断

答案3

了解进程权限的最佳方法是使用ps aux-- ,其中列出了进程的 UID。现在您已经重新启动了进程,没有真正的方法可以查看发生了什么,除非运行类似 BSD 进程记帐之类的程序。

答案4

我承认错误。apache 能够读取该文件的实际原因是它以 root 身份运行。其他解释可能是响应已缓存在浏览器中。

我最初写道:“我认为 apache 在内存中缓存了 index.php 的副本。这就是为什么它似乎仍然可以读取文件,尽管权限已更改。

相关内容