Web 服务器上的文件权限

Web 服务器上的文件权限

我刚刚读过这篇有用的文章关于文件权限,我即将在我们的 Web 服务器上实施尽可能严格的文件权限策略。我们的情况:我们有一个 Web 服务器,公司内部的不同用户通过 sftp 访问它,并且我们有普通公众访问 Apache - 有时通过 PHP 上传文件。我根据文件夹和文件的用途来区分它们。

因此,根据阅读内容,我的计划如下:

所有需要上传文件的人都会有单独的用户。但所有这些用户都属于两个组:上传者, 和网络服务器. Apache 将属于该组网络服务器

目录

  • 许可:771
  • 所有者:用户:uploaders
  • 解释:要访问文件夹中的文件,每个人都需要具有执行权限。只有上传者才能添加/删除文件,因此他们也拥有 r+w 权限。

web-root 内的文件

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

上传目录

  • 许可:771
  • 所有者:用户:webserver
  • 解释:当需要上传文件时,Apache 需要能够写入此目录。但我认为将所有者更改为 webroot 更安全,这样可以给予 Apache 足够的权限(并且所有上传者也属于此组并具有相同的权限),同时防止“其他人”写入此文件夹。

已上传的文件

  • 许可:664
  • 所有者:用户:webserver
  • 解释:上传后,Apache 可能需要删除文件,但这没有问题,因为他们拥有该文件夹的 w+r 权限。因此,无需让此文件的访问权限高于组的 r 访问权限。

我不是文件权限方面的专家,我的问题是这是否是我们目前情况的最佳策略?欢迎提出任何建议。

答案1

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

从更严格的平台开始,随着您发现更多人需要访问某些内容,您可以随时放松安全限制。听起来您对此考虑了很多,因此您一定可以尝试一下,随着您更多地了解使用模式以及哪些方法有效哪些方法无效,您可以放松限制。

相关内容