为什么要用自己的用户名运行 apache?

为什么要用自己的用户名运行 apache?

默认情况下,apache 在 nobody 用户下运行。有什么理由我要更改它吗?它会让事情更安全吗?

答案1

不,真的没有理由改变这一点。是的,这是为了安全。这个想法是,你想尽可能地隔离 Apache 进程,这样如果运行这些进程的帐户受到攻击(例如,通过利用 Apache 服务器软件中的漏洞),攻击者将无法轻易对服务器本身造成任何损害。出于这些原因,nobody几乎总是一个非特权用户:除了运行进程之外,它不拥有任何文件,不能写入任何文件,或者实际上没有权力做任何事情。

答案2

如果您希望 Apache 能够访问其他用户无法访问的文件,则只需为其指定自己的用户。例如,如果您希望将 cgi 或其他内容背后的代码保密,则可以将这些文件设置为只有所有者可读且由 apache 用户拥有。在这种情况下,您仍希望确保没有人可以使用该用户名登录您的服务器,因此您应该根据您的操作系统采取必要的步骤。

相关内容