0
  • 所以我有一个由 Gitosis 托管的 GIT 存储库。
  • 我有一个名为 user1 的用户,当然还有用户 root。
  • user1 属于组'dev'
  • /var/www 由 root 拥有,并分组到 'dev'
  • 该组的权限是 rwx
  • user1 已确认访问 git 存储库。我已经克隆了它,效果很好。

但是,当我尝试让 user1 在 /var/www 上提取 repo 时,我得到了

error: cannot open .git/FETCH_HEAD: Permission denied

那么我还缺少什么。GIT 存储库已经是一个 --shared 存储库。出于某种原因,我无法让该用户使用 /var/www ?

谢谢!

4

2 回答 2

1

事实证明,答案是将 .git 文件夹的 GROUP 更改为用户的 GROUP。我没有意识到 .git/FETCH_HEAD 是一个程序,并且访问被拒绝运行它。我认为这是一个 gitosis 的事情,但事实并非如此。

谢谢!

于 2013-04-12T04:55:53.557 回答
0

您可以追溯修复它们(之后您将不需要配置设置)

chmod -R user:group /path/to/shared.git
find /path/to/shared.git -type d |xargs chmod 2775   # or 2770 if you don't want it public
find /path/to/shared.git -type f |xargs chmod 444    # or 440
find /path/to/shared.git/hooks   |xargs chmod ugo+x  # or ug+x
于 2013-04-12T04:11:42.740 回答