我应该更改二进制文件的权限吗?

我应该更改二进制文件的权限吗?

我以 root 身份运行CentOS 6.2和安装nginx。安装后,我将安装的所有者和组更改为它自己的用户和组,以保持更安全。

我以 root 身份登录并运行yum update更新nginx,我注意到很多文件所有者组都恢复为 root。

有没有办法在执行更新时保留我想要的所有权?也许以nginx用户身份登录并执行更新(这是否可能或推荐?)

答案1

你所做的事情很糟糕。停下来。

如果应用程序nginx由用户拥有nginx并以用户身份运行,nginx那么当应用程序被利用时,它可以覆盖自己的文件。你不想要这个。

应用程序二进制文件几乎始终应归root.服务几乎应该始终作为nobody或另一个类似的非特权帐户运行。

同样,您也不希望您的 Web 内容由运行 Web 服务器的同一用户拥有,因为这会导致攻击者更改您的内容(即破坏您的网站)。

您希望使用尽可能多的权限分离和尽可能少的权限。

  • 应用程序拥有者root(因此只root允许修改它们)
  • 由非特权用户执行的服务(因此他们很少或根本无法访问系统)
  • 只要有可能,服务用户不应拥有该服务的内容

答案2

nginx 不需要能够写入您指定的任何文件;事实上,它这样做的能力存在安全风险。入侵 nginx 的攻击者可以将他想要的任何内容写入您的 Web 目录或配置文件。这就是为什么它们首先由 root 拥有。

因此,您似乎降低了服务器的安全性,而不是提高了服务器的安全性。

对于 Web 目录,实际上不需要移动默认目录。相反,创建一个新的 nginxserver配置块,并将网站的文件放置在与默认文件分开的公共位置,例如用户的主目录或/srv.然后,这些文件可由将要处理它们的用户/组拥有。

相关内容