自动为新添加的git克隆文件提供Apache写入权限(-R g + rw)

我遇到了一个问题,就是允许Apache自动从一个git仓库中获取一个.htaccess文件的写入权限

这是我的过程:

我以新创build的用户“ webadmin ”login,已经添加到组“ apache ”(我在CentOS上,因此它相当于www-data ),我创build了一个空目录:

/var/www/html/test

我已经确保在这个目录下,我做了以下工作:

 $ umask 002 $ chown -R apache:apache /var/www/html/test $ chmod -R g+rw /var/www/html/test 

这是为了确保该目录由apache ”所有,并且因为我的用户webadmin ”是该组的一部分,所以我认为我用这个用户添加的任何东西也将被apache用户写入(php脚本)。

仍然使用webadmin用户,然后运行一个

git clone myrepo.git .

这将我的WordPress网站文件下拉到目录中。 包含在这是一个.htaccess文件。 这个文件需要被WordPress写入,以便它可以修改规则。 所有拉下来的文件都是由apache的 webadmin拥有的。

无论什么原因,.htaccess文件不是默认情况下由apache写入,直到我再次运行:

 $ chmod -R g+rw /var/www/html/test 

为什么我要再次运行这个命令? 有没有什么办法可以让这个文件可以自动写入,而不需要运行-R g+rw命令呢,

你的需求是完全相反的这个stackoverflowpost 。 所以总之,你可以select:

  • 在运行git之前,适当地设置umask(据推测为002,根据你的post)
  • 添加一个git钩子脚本来克隆后更改文件权限。

第一select通常更容易做到。