我希望设置我的整个Web架构由root:root拥有,并且只允许apache用户阅读权限。
我不知道是否有可能: chmod -R 744使得它从浏览器返回一个E403,pemission拒绝访问xxxx.php
但是由于Apache是公开的(“其他”?)它应该能够“读取”正确的? 我不明白 我也试过chown root:apache但结果是一样的,这更令人困惑…
文件需要644,目录需要755.在整个树上使用744意味着Apache没有权限读取任何目录的内容。
另外,根据操作系统的不同,如果您使用/www这样的非标准位置,则可能会遇到有关犬舍安全机制(apparmor,selinux)的问题。
我将提供一些示例命令,用于在不使用手机时清除烫发。
编辑:
这将设置文件和目录是世界可读的:
find /www -type f -exec chmod 644 {} + find /www -type d -exec chmod 755 {} +
为了澄清我之前所说的关于文件vs目录权限:
-rwxr--r-- 编辑(再次):
刚注意到Centos的标签,所以你可以不理会这个警告。 我认为 SELinux默认是closures的,所以这也不应该成为问题。 修复权限应该是你所需要的。
看看使用ACL。 你将能够作为所有者离开root,并仍然给apache访问权限(没有chmod'ing文件到一个妥协的安全点)。