我在CentOS 7上安装了一个新的,未经修改的Apache。我注意到当我查看/ var / www / html的文件夹权限时,它的内容由apache拥有。但是,创建文件时,其所有者和组是Apache。
虽然html由root:root拥有,但是所有内容都应该由apache拥有:apache?或[用户]:该用户属于Apache组的apache?我应该怎么做呢?
修改 另一个问题 - 我希望改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但是在这种配置中似乎阻止了新创建的文件(apache:apache)对已经存在的文件(root:root)采取行动。这个应该阻止PHP黑客能够操纵任何现有文件,对吧?这只是安全的假象吗?
答案 0 :(得分:5)
检查/etc/httpd/conf/httpd.conf文件并搜索用户和组[例如用户apache Group apache]。默认情况下这些是所有者。在您的网站中,不需要为分配给user:group的文件和文件夹添加写入权限,但您可以设置所有者和其他人可读的权限,以便可以通过Web访问。
更新的答案: root拥有的DirectoryRoot(/ var / www / html)的主要原因是安全性。您可以将root保留为文件的所有者,并将组设置为apache。关于安全性,请确保apache组具有对文件的只读访问权限[ - >一个第一个meassure]。安全不是幻觉。虽然文件由root拥有并且没有其他人的rw访问权限,但外部攻击者很难获得对文件的写入权限[因为这是劫持网站的最常见方式]。