Linux 中的权限、apache 用户和 www 文件夹

Linux 中的权限、apache 用户和 www 文件夹

httpd 进程以apache用户/组凭证运行,而 /var/www/html 文件夹归root用户/组所有。

管理公共 html 文件夹权限的最佳做法是什么?保留它们为所有者root还是将每个文件和文件夹分配给用户apache

答案1

让它们以 root 身份拥有,直到其他用户需要对这些文件夹的写权限。除非绝对必要,否则 apache 用户不应拥有任何文件,因为这会使安全漏洞更加严重。例如,如果攻击者能够以某种方式找到让 apache 能够在您的机器上某处创建文件的方法,如果 apache 可以在 /var/www/html 中创建新文件,那么攻击者就可以创建一个新的 .php 文件,该文件使用 apache 凭据通过 Web 浏览器访问此 php 页面来执行任何他想做的事情。

答案2

没有规范的方法来管理此设置。不过,我认为只有在绝对需要时才应使用 root 访问权限。

因此,我将 /var/www/html 目录设置为普通用户,例如 webmaster。这样,对 web 相关文件的日常访问就不需要 root 权限了。

需要 apache 写访问的目录要么需要全局写权限,要么由 apache 拥有,要么设置组访问。

这里有一篇关于使用粘性组的很好的评论: https://stackoverflow.com/questions/2560762/php-mkdir-and-apache-ownership

相关内容