我曾经在专用服务器上由用户“webroot”拥有 php 脚本。
如果脚本归我系统上的 apache2 用户“www-data”所有,则编码和管理会更容易。也感觉更简单干净。
这个盒子上没有 ftp,也没有其他用户或站点。
为什么不拥有 www-data 拥有的 php 脚本?如果有什么反对它,那么可能发生的最坏情况是什么?
我曾经在专用服务器上由用户“webroot”拥有 php 脚本。
如果脚本归我系统上的 apache2 用户“www-data”所有,则编码和管理会更容易。也感觉更简单干净。
这个盒子上没有 ftp,也没有其他用户或站点。
为什么不拥有 www-data 拥有的 php 脚本?如果有什么反对它,那么可能发生的最坏情况是什么?
出于安全原因,我强烈不建议使用 apache 用户作为文件的所有者。如果您的 apache php 脚本之一遭到破坏,它将能够写入 apache 拥有的任何文件。
对于需要由 php 更改的文件,您应该严格使用 apache 用户的所有权。
听起来您使用的是 Ubuntu(就像他们使用 www-data 用户的风味一样)
我建议始终让 apache 用户和组(在 httpd.conf 或 apache.conf 中设置)成为您网站文件的所有者。
我更喜欢使用 apache:apache
危险在于脚本或 Web 服务器可能会受到攻击,从而允许攻击者将 PHP 文件写入您的服务器。这种威胁的现实程度取决于您的脚本是否允许上传文件(以及它们检查文件类型的能力)以及正在运行的软件。安全性不是一个是/否非此即彼的命题——人们通常会在许多不同的地方寻找使服务器更安全的机会。不幸的是,安全性与便利性相悖的情况几乎总是如此。
反对让同一个用户拥有文件并运行 httpd 进程的论点是,如果您的 apache 实例遭到破坏,攻击者可以修改您的 docroot 中的文件。
像往常一样,安全性和易用性是不一致的,因此您必须根据您的环境进行调用。
这篇关于 apache 和文件所有权/权限的文章有点老了,但同样的原则仍然适用
http://onlamp.com/pub/a/apache/2004/05/28/apacheckbk.html