/var/www/ 中的 Apache2 权限多个网站

/var/www/ 中的 Apache2 权限多个网站

我正在使用 Ubuntu 18.04 桌面环境。

我已经在 Apache 2 服务器上设置了多个网站,文件夹中有多个网站/var/www/(每个网站都在自己的文件夹中)

使自己成为所有者并将 www-data 指定为组:sudo chown $USER:www-data -R /var/www

固定权限:sudo chmod -R 774 /var/www

一切正常,直到我添加文件或添加新网站(git pull)。新文件不会随 www-data 组一起出现。不允许 Apache 运行。

这可以通过重新执行来修复sudo chmod -R 774 /var/www,但这感觉不像是一个修复。

我做错了什么?

编辑:它似乎git pull不尊重我之前设置的权限。即使父文件夹的权限设置正确。

答案1

您需要为所有文件夹设置 setgid 位:

chown $USER:www-data -R /var/www    
chmod -R g+s /var/www

然后,在“setgid 文件夹”中创建的每个新文件都将具有父文件夹的组。创建文件的用户必须属于 www-data 组。

WWW 文件的权限可以仅限于您的用户(读写)和 www-data 组(只读),而其他人则没有任何权限:

chmod -R u=rwX,g=rs,o= /var/www

相关内容