使用redmine访问git存储库,权限问题

时间:2011-03-05 17:54:49

标签: git redmine gitolite

我安装了redmine的Ubuntu 10.04服务器并且还安装了git,我使用的是gitolite。

当我从用户PC推送到服务器时,一切正常,关于git的观点。但是要从redmine中查看存储库,每次我需要运行:chmod o+rw -R /path/to/the/repository/folder然后我可以从redmine看到存储库。但是每次我推送到服务器时这都很烦人。

我想自己做一个cron-job工作,但我认为这不是一个干净的解决方案。

2 个答案:

答案 0 :(得分:4)

git config core.sharedRepository all

来自git-config documentation

  

group(或true)时,存储库可在组中的多个用户之间共享(确保所有文件和对象都是可写组的)。当all(或worldeverybody)时,除了可分组之外,所有用户都可以读取存储库。当umask(或false)时,git将使用umask(2)报告的权限。当0xxx,其中0xxx是八进制数时,存储库中的文件将具有此模式值。 0xxx将覆盖用户的umask值(而其他选项将仅覆盖用户的umask值的请求部分)。示例:0660将使所有者和群组可以读/写,但其他人无法访问(相当于group,除非umask是例如0022)。 0640是一个可读取组但不可写入组的存储库。请参阅git-init(1)。默认为假。

答案 1 :(得分:4)

要让Redmine访问所有gitolite托管的存储库,您需要修改$HOME/.gitolite.rc

$REPO_UMASK = 0027; #=> 'rwxr-x---'
# use 0022 instead to give rx permissions to others (not recommended)

然后将运行托管redmine的Web服务器的用户添加到'gitolite'组

最后,做chmod -R g+rx $HOME/repositories

Gitolite "rc" file查看更多文档。