Назад | Перейти на главную страницу

Почему root видит каталог, но не видит пользователя?

Я создал репозиторий git на моем vps через root и сделал его общим, чтобы группа людей могла получить к нему доступ:

# mkdir example.git
# cd example.git
# git init --bare --shared=group
Initialized empty shared Git repository in /root/example.git/
# ls
branches  config  description  HEAD  hooks  info  objects  refs
# chgrp -R devs .

Затем, как пользователь на моем локальном компьютере, я создал каталог и добавил example.git в качестве нового источника для этого репозитория git. Наконец, я попытался нажать на источник:

mkdir bubbles && cd bubbles
bubbles ranuka$ git init
Initialized empty Git repository in /Users/ranuka/Desktop/bubbles/.git/
bubbles ranuka$ ls
bubbles ranuka$ git remote add origin ranuka@000.000.000.000:example.git
bubbles ranuka$ echo "Hello" > readme.txt
bubbles ranuka$ git add readme.txt
bubbles ranuka$ git commit -m "Adding a readme file"
[master (root-commit) 2c89e43] Adding a readme file
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
bubbles ranuka$ git push origin master
ranuka@000.000.000.000's password: 
fatal: 'example.git' does not appear to be a git repository

Смущен этой ошибкой, так как я знаю example.git явно репо на моем vps. Я вошел на свой vps как 'ranuka' и попытался cd к example.git, но не смог, но по какой-то причине я смог как root .. Что дает?

Моя цель состояла в том, чтобы создать репозиторий git на моем vps, к которому группа пользователей в определенной группе могла бы получить доступ и сделать push / pull.

РЕДАКТИРОВАТЬ: после запуска ls -a на root@000.000.000.000 и ranuka@000.000.000.000 Это были результаты:

.                             example.git
..                            gitosis
ajenti-repo-1.0-1.noarch.rpm  install.log
anaconda-ks.cfg               install.log.syslog
.bash_history                 pgdg-centos93-9.3-1.noarch.rpm
.bash_logout                  .pki
.bash_profile                 repo.git
.bashrc                       .rnd
.cshrc                        .ssh
epel-release-6-8.noarch.rpm   .tcshrc

И

.  ..  .bash_logout  .bash_profile  .bashrc

Таким образом, кажется, что root и ranuka находятся в разных каталогах без каких-либо отношений.

У разных пользователей разные домашние папки.
Если вы войдете в систему как root, дом будет /root.
Ни один другой пользователь не сможет получить к нему доступ.

Если вы войдете в систему как ранука, дом (вероятно) /home/ranuka.
Которая, конечно, не содержит папки, так как она находится в /root.