我遇到了一个问题,就是允许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) 第一select通常更容易做到。