我设置gitolite罚款与Apache和脚本检索我的组。 我能有效地控制谁可以推到一个仓库,但不是谁都能阅读。 目前,如果我不设定R = @all规则上的存储库谁也看不清楚,甚至还有人通过其他规则匹配。
我有以下gitolite配置:
repo testing
R = @git-reader-test
R = olivier
# R = @all #Will work if I uncomment this line
RW+ = @developers
我wapper脚本中调用gitolite具有下面的代码
echo "Entering gitolite wrapper" >> /home/dev_tools/git/gitauth.log
echo "user: $REMOTE_USER" >> /home/dev_tools/git/gitauth.log
echo "groups: $HTTP_REMOTE_USER_GROUPS" >> /home/dev_tools/git/gitauth.log
exec /home/dev_tools/git/bin/gitolite-shell $REMOTE_USER 2>&1 |tee -a /home/dev_tools/git/gitauth.log
其输出:
Entering gitolite wrapper
user: olivier
groups: developers ...
Status: 404 Not Found
Expires: Fri, 01 Jan 1980 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, max-age=0, must-revalidate
Repository not exported: '/home/dev_tools/git/repositories/testing'
所以,我的团体,甚至我的用户名匹配A R规则,但我被拒绝了404错误,但如果我取消了R = @all
规则,我将能够没有任何问题去取我的回购协议。
我得到的错误git fetch
是
fatal: http://olivier@myserver/testing/info/refs not found: did you run git update-server-info on the server?
和相应的gitolite日志:
2012-10-11.15:52:10 26728 access(testing, olivier, R, 'any'),-> refs/.*
2012-10-11.15:52:10 26728 trigger,Writable,access_1,ACCESS_1,testing,olivier,R,any,refs/.*
2012-10-11.15:52:10 26728 pre_git testing olivier R any -> refs/.*
2012-10-11.15:52:10 26728 system,git,http-backend
2012-10-11.15:52:10 26728 END
你有为什么会发生什么想法?