Web服务器上的文件权限

我刚刚阅读了这篇关于文件权限的有用文章 ,并且即将在我们的web服务器上实现尽可能严格的文件权限策略。 我们的情况:我们的公司内部有不同的用户通过sftp访问networking服务器,我们有一般公众访问Apache – 有时通过PHP上传文件。 我通过使用它来区分文件夹和文件。

所以根据这个阅读,这是我的计划:

所有需要上传文件的人都会有不同的用户。 但所有这些用户将属于两个组: 上传者networking服务器 。 Apache将属于组webserver

目录

  • 许可:771
  • 所有者:用户:上传者
  • 说明:要访问文件夹中的文件,每个人都需要具有执行权限。 只有上传者将添加/删除文件,所以他们也获得r + w权限。

web-root中的文件

  • 许可:664
  • 所有者:用户:上传者
  • 说明:它们将被不同的用户上传和更改,所有者和组都需要具有w + r权限。 Web服务器只需要读取文件,只有权限。

上传的目录

  • 许可:771
  • 所有者:user:webserver
  • 说明:当需要上传文件时,Apache需要能够写入这个目录。 但是我认为将所有者更改为webroot是比较安全的,从而使Apache有足够的权限(并且所有的上传者也属于这个组,并具有相同的权限),同时防止“其他人”写入这个文件夹。

上传的文件

  • 许可:664
  • 所有者:user:webserver
  • 说明:上传Apache后可能需要删除文件,但是这是没有问题的,因为他们拥有文件夹的w + r权限。 所以没有必要让这个文件更容易访问组访问。

由于不是档案权限方面的专家,我的问题是这是否是对我们的情况最好的政策? 欢迎任何build议。

这个问题确实很难给出明确的答案,因为安全性是在保护您的资源免受入侵者侵害的同时仍然允许您的用户(和Web服务器)访问他们需要访问的资源之间的平衡。

从一个更加严格的平台开始,随着您发现更多的人需要访问某些东西,您可以始终减轻安全性。 这听起来像你已经考虑了很多,所以你可以试一试,当你了解更多关于使用模式,什么有效,什么不工作的时候,你可以点亮它。