php – Apache / CentOS 7:/ var / www / html /由root拥有但是创建了apache拥有的文件 – 我该如何解决这个问题?

我在CentOS 7上安装了一个新的,未经修改的Apache.我注意到当我查看/ var / www / html的文件夹权限时,它的内容由apache拥有.但是,创建文件时,其所有者和组是Apache.

虽然html由root:root拥有,但是所有内容都应该由apache拥有:apache?或[用户]:该用户属于Apache组的apache?我该怎么办呢?

编辑:
另一个问题 – 我想改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但是在这种配置中似乎阻止了新创建的文件(apache:apache)对已经存在的文件(root:root)采取行动.这可以防止PHP黑客能够操纵任何现有文件,对吧?这只是安全的假象吗?

解决方法:

检查您的/etc/httpd/conf/httpd.conf文件并搜索用户和组[例如用户apache Group apache].默认情况下这些是所有者.在您的网站中,不需要为分配给user:group的文件和文件夹添加写入权限,但您可以设置所有者和其他人可读的权限,以便可以通过Web访问.

更新的答案:
root拥有的DirectoryRoot(/ var / www / html)的主要原因是安全性.您可以将root保留为文件的所有者,并将组设置为apache.关于安全性,请确保apache组具有对文件的只读访问权限[ – >一个第一个meassure].安全不是幻觉.虽然文件由root拥有并且没有其他人的rw访问权限,但外部攻击者很难获得对文件的写入权限[因为这是劫持网站的最常见方式].

上一篇:Jenkins以root用户运行的方法


下一篇:chown命令