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
Inilah ACL
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
Saya belum pernah melihat ini sebelumnya. Tidak ada izin untuk LS bahkan dengan 777? Saya perlu berbagi folder ini untuk pengembangan yang lebih nyaman. Bagaimana saya bisa menyelesaikannya? Terima kasih.
Diedit: (ini permintaan Anda)
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
DIedit LEBIH BANYAK
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
hmmm ... apa ini?
permissions
chmod
pengguna1797147
sumber
sumber
ls
tampilkan tidak diperlihatkan?ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': Permission denied
jadi tunjukkan pada kami apa yang terjadi ketika Andals -ld /var/opt/gitlab/git-data/repositories/GL/www.git
drwxr-x---
Jawaban:
Ini terjadi karena ada direktori yang lebih tinggi di pohon di mana Anda tidak memiliki izin eksekusi. Jika direktori induk tidak memiliki izin eksekusi untuk beberapa pengguna, maka pengguna tersebut tidak dapat membuat stat subdirektori apa pun terlepas dari izin pada subdirektori tersebut.
Contoh:
Meskipun saya adalah pemilik direktori 'brownies' dan semua pengguna memiliki izin untuk membaca dan memasukkannya, saya tidak dapat mengaksesnya jika direktori induknya tidak memiliki izin eksekusi.
Lebih baik menggunakan grup untuk mengelola izin daripada memberi untuk memberi izin direktori 777. Apakah Anda yakin harus melakukan itu?
Cara memperbaiki masalah dengan cara yang lebih aman:
Mari kita asumsikan pada
/var/opt/gitlab
direktori Anda memiliki sesuatu seperti ini:Tambahkan diri Anda dan semua pengguna lain yang membutuhkan izin ke grup git, misalnya:
Pengguna harus keluar dan kembali agar ini berlaku. Bahkan jika izin menulis diperlukan pada subdirektori, Anda tidak perlu menambahkannya pada direktori induk, jadi Anda tidak perlu menggunakannya
chmod
sama sekali. Anda mungkin ingin mengubah izin subdirektori untuk mencegah siapa pun dapat menulis kepadanya:atau
sumber