Linux下的权限,apache用户和www文件夹

httpd进程使用apache用户/组凭证运行,而/ var / www / html文件夹由root用户/组拥有。

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

保留它们作为根用户,直到其他用户需要写入文件夹。 除非是绝对必要的,否则apache用户不应该拥有任何东西,因为这会使安全漏洞变得更糟。 举个例子,如果攻击者能够想办法让apache能够在你的机器上创build文件,那么如果apache可以在/ var / www / html中创build新文件,攻击者就可以创build一个新的文件。 PHP文件,通过点击这个PHP页面与他的网页浏览器使用Apache凭据,做任何他想做的事情。

没有规范的方式来pipe理这个设置。 但是,我认为只有在需要的情况下才能使用根访问权限。

因此,我将/ var / www / html目录设置为普通用户,例如网站pipe理员。 通过这种方式,networking相关文件的例行访问不需要root权限。

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

有一个很好的审查使用粘性组在这里: https : //stackoverflow.com/questions/2560762/php-mkdir-and-apache-ownership