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

  显示原文与译文双语对照的内容
0 0

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

/home/git/niels.git.

用户git和niels在组git中。

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

ssh为 niels.git: 推and拉。

ssh以同样的方式为niels提供:


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.

显然存储库存在,因为我可以将它的作为。 这里有一些权利和群组信息:


# 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 

我做错什么了?

尽管如此,我尝试了各种权限


chmod -R 740/home/git

和 766 666但只有 777我得到了自由:

 
Already up-to-date.

 

但那不可能是。

时间: 原作者:

0 0

但那不可能是。

但它是这样的: 你不应该像'git'那样访问 /home/git/ 下的repo 。

ssh在远程服务器( 有你的 upstream repo的那个) 上打开一个安全 shell,并在你的ssh url中与你提到的用户一起使用该 shell:git 。用于访问 /home/git

更改 /etc/password 是不够的,无法更改主目录的所有权 。

你可以尝试:


sudo chmod 744 -R egit/home/git

( 但是帐户 git 在访问相同的仓库时会出现问题)

原作者:
...