【问题标题】:Best practices in assigning permissions to web folders为 Web 文件夹分配权限的最佳实践
【发布时间】:2014-04-04 04:12:32
【问题描述】:

我想知道对网站文件和文件夹执行 chown 和 chmod 的最佳、正确和推荐的方法是什么。

我最近开始在 linux 上工作,我一直在站点根目录中进行如下操作:

sudo chown www-data:www-data -R ./
sudo chmod 775 -R ./

我知道这不是最好的方法。有一个受保护的文件夹不应该被浏览器访问并且不应该是可写的,所以我对受保护的文件夹做了以下操作:

sudo chown root:root -R protected/
sudo chmod 755 -R protected/

正确吗?如果有什么可以改进的,请告诉我。

【问题讨论】:

    标签: linux permissions file-permissions chmod chown


    【解决方案1】:

    再次阅读您的命令。您所说的是这些目录下的“使 everything 可执行”。 HTML 或 gif 是否可执行?我不这么认为。

    关于不应该被网络服务器写入的目录。想想你想做什么。您想撤销从网络服务器和网络服务器组(以及其他所有人)写入目录的权利。所以它会转化为chmod -w theDir。您所做的是告诉系统“我希望 root 对每个人和 root 组都可以读取的目录进行更改”。我非常怀疑。

    所以我建议让一个只有最小读取访问权限的网络服务器用户拥有该目录,它应该属于一个允许进行必要修改的组(即用户组)。网络服务器不属于该组,因为您希望阻止外部世界进行修改。另一种选择是将所有目录移交给 root 和编辑组,并修改网络服务器可以通过“其他”权限组执行的操作。但是使用什么在很大程度上取决于您的环境。

    编辑: 一般来说,“最少权利”政策被认为是好的做法:放弃尽可能少的权利来完成工作。这意味着对静态文件的读取访问权限,并根据您的环境 php 文件,读取和执行 cgi 可执行文件的权限以及读取和执行目录的权限。目录的执行权限允许您输入和阅读它。文档根目录中的任何目录都不应被网络服务器永远写入。这是一个安全风险,尽管一些大型 CMS 的开发人员似乎不太关心这一点。对于临时文件夹,我会将用户和组设置为nobody:nogroup,并为用户和组设置粘性位。

    【讨论】:

      猜你喜欢
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 2010-09-21
      • 2011-02-28
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多