我最近建立了一个Ubuntu服务器,使用的是gitolite,而且它工作得很好。但是,在我下载并安装了一个web (gitlist)来共享我的存储库之后,出现了一个问题。
我确信问题是,每次我推升一些更新时,存储库中的某些引用文件的文件权限都会发生更改,而Apache无法访问它们(因此,web将无法访问存储库)。
安装它时,我执行了以下步骤:
www-data用户添加到具有usermod -a -G git www-data的git组中。sudo chgrp -R git repositories/sudo chmod ug+s repositories/一旦我使用git进行推送,就会更改2-3个文件的文件权限(例如,'/repository/名字/refs/head/master‘文件),并将其设置为-rw-------,只有git用户才能访问该文件。没有其他用户可以在这里读写。
我希望这些文件在我执行git推送后保持在给定的权限(例如chmod 755)中,所以我不需要每次有人推送时更新权限。
发布于 2012-08-16 10:50:59
因为这是一个问答网站,我在谷歌搜索了很多之后找到了答案,并解决了这个问题。
基本的问题可以追溯到设置好的umask,当我做推送时,它掩盖了所有的文件--我不得不改变它。为了做到这一点,我做了以下工作:
在我的存储库根目录中打开.gitolite.rc文件,并设置变量:
$REPO_UMASK = 0022 (将U掩膜设置为您想要的掩码)。在此之后,我的文件并没有因为组的读取权限而被删除。
https://askubuntu.com/questions/176176
复制相似问题