自动授予 Apache 写入权限给新添加的 git clone 文件 (-R g+rw)

自动授予 Apache 写入权限给新添加的 git clone 文件 (-R g+rw)

我在允许 Apache 自动对从 git 存储库中提取的 .htaccess 文件具有写访问权限时遇到问题。

以下是我的流程:

我以新创建的用户身份登录”网站管理员“,已添加到组”阿帕奇“(我在 CentOS 上,所以它相当于www-数据)并且我创建了一个空目录:

/var/www/html/test

我已确保在此目录中执行以下操作:

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

这是为了确保目录归团体阿帕奇“,因为我的用户网站管理员“是该组的一部分,我假设我使用此用户添加的任何内容也将由阿帕奇用户(php 脚本)。

仍在使用网站管理员用户,然后我运行

git clone myrepo.git .

这会将我的 WordPress 网站文件拉到目录中。其中包含一个 .htaccess 文件。此文件需要由 WordPress 可写入,以便它可以修改规则。所有拉下的文件均归网站管理员阿帕奇

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

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

为什么我必须再次运行此命令?有什么方法可以让此文件在被拉下时自动由 apache 写入,而无需运行命令-R g+rw

答案1

你的需求恰恰相反这个 stackoverflow 帖子。简而言之,您可以选择:

  • 在运行之前适当地设置 umask(根据您的帖子,大概为 002)git
  • 添加一个 git hook 脚本来在克隆后更改文件权限。

第一个选择通常比较容易做到。

相关内容