初学者问题。我在一个网站上看到过这种说法,认为这是一种不好的做法,但我记不清在哪里提到了,也记不清为什么。所以,如果我有一个用户可以访问 Apache 不应该访问的文件,而我将这个用户添加到 Apache 组,这会产生安全漏洞吗?如果是,为什么(例如,如果权限为 700,Apache 就不应该能够访问敏感文件)?
答案1
如果不了解权限的影响,任何权限设置都可能在某些环境中产生安全问题。
将用户添加到组通常不会赋予该组任何特殊权限。用户拥有的文件通常不会对该组的成员可见,因为您可能没有将该组设置为该用户的默认组。
如果用户使用 新加坡或者创建文件,以便该组可以访问该文件,那么该组的任何成员都可以访问该文件。如果该人创建某个文件或目录并向该组授予读写权限,那么潜在的,Web 服务器或所服务代码中的错误可能会被利用来将任意文件存储在该目录中,然后将其分发出去。
在某种多租户安排中,向 apache 组授予权限可能会允许租户查看另一个租户创建和拥有的数据。
无论如何,只需花点时间使用find
带有选项的命令-gid
来归档系统中属于该组的文件和目录。这样,当您将用户添加到组时,您就可以看到您授予了哪些访问权限。
答案2
您通常会以几乎没有系统权限的用户身份运行 apache。通常比您授予系统普通用户的权限要少。运行 apache 的用户几乎对任何地方都没有写权限,希望除了日志之外没有其他任何权限。您可能将用户添加到 apache 组以授予该用户额外的权限。这些权限是 apache 服务器进程首先需要的吗?这些权限是否应该分配给用户所属的其他组而不是 apache 组?