![找出 Apache 以哪个用户身份运行?](https://linux22.com/image/509350/%E6%89%BE%E5%87%BA%20Apache%20%E4%BB%A5%E5%93%AA%E4%B8%AA%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我想按照这里详细描述的那样保护服务器上的文件上传目录,但在按照这些说明操作之前,我遇到了一个问题。我不知道 Apache 以哪个用户身份运行。
我发现有人建议你查看 httpd.conf,里面会有一行“User”,但我的 httpd.conf 文件中没有这行,所以我猜 Apache 是以默认用户身份运行的。不过我找不到那是什么。
所以,我的问题是:
- 我如何知道默认用户是什么
- 我需要更改默认用户吗
- 如果答案是肯定的,并且我通过编辑 httpd.conf 更改默认用户,那么是否会搞砸任何事情?
谢谢!
答案1
ps aux | egrep '(apache|httpd)'
通常会显示 apache 正在运行的内容。
通常你不需要更改默认用户,“nobody”或“apache”通常都是不错的用户。只要它不是“root”即可;)
编辑:更准确的命令来捕获 apache 二进制文件
答案2
您可以尝试以下命令:
ps -ef | egrep '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}'
答案3
使用apachectl -S
,它将显示一些 Apache 用户和组,如下所示:
User: name="_www" id=70
Group: name="_www" id=70
答案4
我知道这是一篇旧帖子,但它仍被列为未答复,所以我会提出一个建议。如果您找不到 Apache 以哪个用户或组身份运行,也许可以尝试打开 httpd.conf 文件。那里应该有一个“用户”和“组”条目。您不仅可以看到 Apache 应该以哪个用户身份运行,而且如果您觉得有必要,还可以更改它。