4

Я сталкиваюсь с очень и очень странной проблемой сегодня ... Я перешел по ссылке, чтобы установить GitLab на моем Linux-сервере сегодня, в разделе Gitolite есть две строки для установки разрешения и владельца папки:

sudo chmod -R ug+rwXs,o-rwx /home/git/repositories/
sudo chown -R git:git /home/git/repositories/

И перед этими строками он создал пользователя и добавил его в определенную группу:

sudo adduser --disabled-login --gecos 'GitLab' gitlab
sudo usermod -a -G git gitlab

Я проверил пользователя и разрешения после этих шагов:

gitlab@vm-leader:/home/git$ id
uid=1001(gitlab) gid=1001(gitlab) groups=1001(gitlab),105(git)
gitlab@vm-leader:/home/git$ ls -al
total 56
drwxr-xr-x 8 git  git  4096 Jan  4 16:55 .
drwxr-xr-x 7 root root 4096 Jan  4 11:50 ..
-rw------- 1 git  git    87 Jan  4 17:02 .bash_history
drwxr-xr-x 2 git  git  4096 Jan  4 14:04 bin
drwx------ 2 git  git  4096 Jan  4 14:04 .cache
-r--r--r-- 1 root root  398 Jan  4 14:04 gitlab.pub
drwxr-xr-x 5 git  git  4096 Jan  4 14:01 gitolite
drwxr-x--- 6 git  git  4096 Jan  4 14:04 .gitolite
-rw-r--r-- 1 git  git  5064 Jan  4 14:04 .gitolite.rc
-rw-r--r-- 1 git  git    37 Jan  4 14:04 .profile
-rw-r--r-- 1 git  git    12 Jan  5 19:43 projects.list
drwsrws--- 6 git  git  4096 Jan  5 17:29 repositories
drwx------ 2 git  git  4096 Jan  5 19:43 .ssh
gitlab@vm-leader:/home/git$ 

Основываясь на этих результатах, я считаю, что папка 'repositories' разрешена для доступа пользователей той же группы, в этом случае группа 'git' имеет разрешение на доступ к этой папке. Также пользователь 'gitlab' принадлежит к группе 'git'. Таким образом, пользователь 'gitlab' должен иметь возможность доступа к этой папке. Тем не менее, я получил это

gitlab@vm-leader:/home/git$ cd repositories/
bash: cd: repositories/: Permission denied
gitlab@vm-leader:/home/git$ 

Это слишком странно для меня, и я совершенно не знаю, почему это произошло или как это исправить. Кто-нибудь может дать мне подсказку? Заранее спасибо.

Дополнительная информация:

bear@vm-leader:/home/git$ ls -ld /home/git
drwxr-xr-x 8 git git 4096 Jan  4 16:55 /home/git

2 ответа2

0

Эта проблема была решена! Я смонтировал эту папку (репозитории) через NFS, и на NFS-сервере пользователей git и gitlab не существует. Я добавил их и установил для них подходящие группы, и все идет хорошо! Я провел несколько тестов по этому поводу - только когда сервер и клиент настроены на пользователя / группу, разрешения работают правильно.

0

Похоже, что /home /git имеют 700 разрешений. Добавление разрешения на выполнение для группы (g+x) в /home /git позволяет получить доступ:

# chmod g+x /home/git

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .