我在CentOS 7上有一个新的、未经修改的apache安装,我注意到当我查看/var/www/html的文件夹权限时,它和它的内容是属于Apache的。但是,在创建文件时,它的所有者和组是Apache。
尽管html由root:root拥有,但所有内容是否都属于apache:apache呢?还是用户: Apache的用户属于Apache组?我该怎么做?
编辑:还有一个问题--我想改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但是通过这种配置,新创建的文件(apache:apache)似乎无法对已经存在的文件(root:root)采取行动。这应该可以防止PHP黑客操纵任何现有文件,对吗?不过,这只是安全的错觉吗?
发布于 2015-03-05 13:32:39
检查您的/etc/httpd/conf/httpd.conf文件,并搜索用户和组,例如用户。在默认情况下,这些都是所有者。在您的网站中,也不需要为分配给用户:group的文件和文件夹添加写权限,但是您可以设置所有者和其他人的可读性,以便通过web访问。
更新的答案:根用户拥有DirectoryRoot (/var/www/html)的主要原因是安全性。您可以将root作为文件的所有者,并将组设置为apache。在安全性方面,首先要确保apache组具有对->文件的只读访问权。安全不是幻觉。虽然文件为root用户所有,无法从其他人处获得rw访问权,但外部攻击者很难获得对文件的写入访问权,因为这是劫持站点的最常见方式。
https://stackoverflow.com/questions/28878816
复制相似问题