git shared repo:对额外用户没有正确的访问权限

时间:2013-09-20 21:00:56

标签: git ssh access-rights

我在linux CentOS服务器上创建了一个git bare repo:

/home/git/niels.git。

用户git和niels在组git中。

我改变了/ etc / passwd所以niels的主目录是git。

ssh as git to niels.git:push and pull fine。

作为niels的ssh以同样的方式给出:

fatal: '~/niels.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

显然,存储库存在,因为我可以将其作为git访问。 这里有一些权利和组信息:

# ls -al /home/git

total 32
drwxrwx--- 4 git  git   4096 Sep 20 22:11 .
drwxr-xr-x 5 root root  4096 Sep 17 14:39 ..
-rwxr----- 1 git  10009  953 Sep 17 14:19 .bash_history
-rwxr----- 1 git  10009   33 Sep 12 22:46 .bash_logout
-rwxr----- 1 git  10009  176 Sep 12 22:46 .bash_profile
-rwxr----- 1 git  git    124 Sep 12 22:46 .bashrc
drwxrw---- 7 git  git   4096 Sep 17 17:19 niels.git
drwxr----- 2 root 10009 4096 Sep 15 22:40 .ssh

# groups niels

niels : niels git 

我做错了什么?

哦BTW我尝试了各种许可,比如

chmod -R 740 /home/git

和766 666 但只有777我得到了解放:

Already up-to-date.

但那不可能是......

1 个答案:

答案 0 :(得分:0)

  

但那不可能是......

然而就是这样:你不应该像{git'那样以/home/git/之下的任何其他用户访问回购。

ssh在远程服务器(具有 upstream repo )的服务器上打开一个安全的shell,并且该shell与您在ssh url中提到的用户一起使用:{{1 }}。这适用于访问git

更改/home/git不足以更改该主目录的所有权

您可以尝试:

/etc/password

(但帐户sudo chmod 744 -R egit /home/git 会遇到访问相同存储库的问题)