找出 Apache 以哪个用户身份运行?

找出 Apache 以哪个用户身份运行?

我想按照这里详细描述的那样保护服务器上的文件上传目录,但在按照这些说明操作之前,我遇到了一个问题。我不知道 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 应该以哪个用户身份运行,而且如果您觉得有必要,还可以更改它。

相关内容