我在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.
但那不可能是......
答案 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
会遇到访问相同存储库的问题)