john@ubuntu01:~$ sudo ls -l /var/opt/gitlab/git-data/repositories/GL/www.git
total 25068
drwxr-xr-x 2 git git 4096 aug 14 19:58 branches
-rw-r--r-- 1 git git 66 aug 14 19:58 config
drwxrwxrwx 2 root root 4096 aug 15 14:56 custom_hooks
-rw-r--r-- 1 git git 73 aug 14 19:58 description
-rw-r--r-- 1 git git 23 aug 14 19:58 HEAD
lrwxrwxrwx 1 git git 47 aug 14 19:58 hooks -> /opt/gitlab/embedded/service/gitlab-shell/hooks
drwxr-xr-x 2 git git 4096 aug 14 19:58 hooks.old.1471193907
-rw-r--r-- 1 git git 1329 aug 15 14:48 index
drwxr-xr-x 2 git git 4096 aug 15 13:58 info
drwxr-xr-x 71 git git 4096 aug 15 14:55 objects
-rw-r--r-- 1 git git 98 aug 15 13:58 packed-refs
-rw-r--r-- 1 git git 25618530 aug 15 14:03 post-receive.log
drwxr-xr-x 5 git git 4096 aug 14 20:31 refs
john@ubuntu01:~$ ls -l /var/opt/gitlab/git-data/repositories/GL/www.git
ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': Permission denied
Вот ACLs
john@ubuntu01:~$ sudo lsattr /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
-------------e-- /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks/post-receive
Я никогда не видел это прежде. Никакое разрешение к LS даже с 777? Я должен совместно использовать эту папку для более удобной разработки. Как я могу решить его?Спасибо.
ОТРЕДАКТИРОВАННЫЙ: (вот Ваши запросы),
john@ubuntu01:~$ sudo ls -ld /var/opt/gitlab/git-data/repositories/GL/www.git
drwxrwxrwx 8 git git 4096 aug 15 14:48 /var/opt/gitlab/git-data/repositories/GL/www.git
john@ubuntu01:~$ sudo ls -ld /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
drwxrwxrwx 2 root root 4096 aug 15 14:56 /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
ОТРЕДАКТИРОВАННЫЙ БОЛЬШЕ
sudo ls -ld /var/opt/gitlab/git-data/repositories/GL/www.git
ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': No such file or directory
хм... что это такое?
Это происходит, потому что существует каталог выше в дереве, где Вы не имеете, выполняют разрешение. Если родительский каталог имеет, не выполняют разрешение для некоторого пользователя, то тот пользователь не может статистика никакие подкаталоги независимо от полномочий на тех подкаталогах.
Пример:
$ ls -l cake
drwxr-xr-x 2 zanna zanna 4096 Jul 12 11:43 brownies
$ chmod 666 cake
$ ls -l cake/brownies
ls: cannot access 'cake/brownies': Permission Denied
Даже при том, что я - владелец каталога 'брауни' и все пользователи, имеют разрешение считать и ввести его, я не могу получить доступ к нему, если его родительский каталог имеет, не выполняют разрешение.
лучше к группы использования управлять полномочиями, чем дают, чтобы дать каталогам 777 разрешений. Вы уверены, что необходимо сделать это?
, Как решить проблему более безопасным способом:
Позволяют нам принять на /var/opt/gitlab
каталог, у Вас есть что-то вроде этого:
drwxr-x--- 5 git git 4096 aug 14 17:30 gitlab
Добавляют себя и всех других пользователей, которым нужно разрешение группе мерзавца, например:
sudo usermod -a -G john git
Пользователи должны выйти из системы и въехать задним ходом, чтобы это вступило в силу. Даже если разрешение записи необходимо на подкаталоге, Вы не должны добавлять его на родительском каталоге, между прочим, таким образом, Вы не должны использовать chmod
вообще. Вы могли бы хотеть изменить свои полномочия подкаталога предотвратить любого от способности записать в него:
chmod 775 /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
или
chmod o-w /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks