我想知道对网站文件和文件夹执行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/
这是对的吗?如果有任何改进,请告诉我。
答案 0 :(得分:0)
再次阅读你的命令。你所说的是"使一切可执行"在这些目录下面。 HTML或gif是可执行的吗?我不这么认为。
关于网络服务器不应写的目录。想想你想做什么。您想要撤销从Web服务器和Web服务器组(以及其他所有人)编写目录的权限。所以它会转换为chmod -w theDir
。你所做的就是告诉系统"我希望root对这个目录进行更改,每个人和根组都可以读取#34;。我非常怀疑。
所以我建议让网络服务器用户拥有的目录只有最小的读访问权限,它应该属于一组(用户,即),允许进行必要的修改。 Web服务器不属于该组,因为您希望阻止外部世界进行修改。另一种选择是将所有目录移交给root和编辑组,并通过"其他"来修改网络服务器可以执行的操作。权限组。但是使用什么很大程度上取决于你的环境。
编辑: 一般来说,"最少权利"政策被认为是良好做法:尽可能少地放弃完成工作的权利。这意味着可以读取对静态文件的访问权限,具体取决于您的环境php文件,cgi可执行文件的读取和执行权限以及目录的读取和执行权限。目录的执行权限允许您输入和读取它。文档根目录中的任何目录都不应该由Web服务器永远写入。这是一个安全风险,尽管一些大型CMS的开发人员似乎并不关心这一点。对于临时文件夹,我将用户和组设置为nobody:nogroup并为用户和组设置粘滞位。