如何向/ var / www授予Git和Apache权限

时间:2019-02-02 21:01:58

标签: git permissions capistrano lamp

  

我试图安装WP-部署。重新安装薄荷三后   倍和近烧毁我的房子和我的愤怒我不能为   我的生活弄清楚我应该如何赋予/var/www正确的权利   权限。

     

如果git尝试写入,我将获得拒绝权限,这将是   与capistrano / wp-deploy频繁发生。

     

但是,如果我chown目录会破坏Apache。

     

drwxrwxr-x 2 www-data www是当前权限,其中www是   一组。一些教程告诉我,使包含www数据用户   和另一个用户,但它似乎并没有改变行为。我有   在www-data:rootwww-data:www-data都拥有   相同的行为。

更新:仍然一团糟,进行了更新,然后发现了一些错误。我可能会回来更多信息很快。感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

  

一些教程告诉我,使包含www数据用户和其他用户,但它没有似乎改变行为。

这是通常的操作方式:如果一个以上的用户需要访问目录,则可以创建一个组,为该目录赋予该组所有权,并设置该组的权限。之后,所有需要访问目录的用户都将添加到该组中。 但是,请注意,组成员身份更改通常仅在用户下次登录后生效。。也就是说,如果用户在添加到组中时仍处于登录状态,则直到下次登录。

鉴于已经有一个www组,您只需要检查权限是否正确,然后将Git用户(我们称一个gituser)添加到www组中含usermod

sudo usermod -a -G www gituser

标志-a将给定的组附加到用户的现有组列表中。而-G则采用逗号分隔的用户应属于的组列表。

答案 1 :(得分:1)

您要分隔权限。除非特别需要(并且不能从Web访问),否则授予Apache对目录的写访问权限通常是一个坏主意。

chown文件发送给git用户,chgrp组发送给www(应该是这样) 确保www-data用户是wwwgroups www-data的成员,如果没有添加,请usermod -g www www-data并重新启动apache服务。

/var/www及其下所有目录的权限设置为“ 755”。 得到drwxr-xr-x

/var/www下的所有文件及其子目录文件的 file 权限设置为“ 644”。得到-rw-r--r--

find /var/www -f -exec chmod 644 {} \;