777 klasöründe izin reddedildi


17
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

İşte ACL'ler

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

Bunu daha önce hiç görmedim. 777 ile bile LS izniniz yok mu? Daha rahat geliştirme için bu klasörü paylaşmam gerekiyor. Nasıl çözebilirim? Teşekkür ederim.

DÜZENLENDİ: (işte istekleriniz)

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

DAHA DÜZENLENDİ

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 ... bu nedir?


1
girdiğiniz dizinin izinleri lsgösterilmiyor mu?
Zanna

custom_hooks ve drwxrwxrwx 2 kök kökü var, yukarıya bakın
user1797147

1
ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': Permission deniedo zaman bize ne olduğunu gösterls -ld /var/opt/gitlab/git-data/repositories/GL/www.git
Zanna

1
istediğimi yapabilir misin lütfen? üst dizinde yürütme izniniz yoksa 777 bu konuda size yardımcı olmaz
Zanna

2
Görünüşe göre probleminiz ağaç kadar yukarıda. Bir seviyeye çıkmaya ve izinleri incelemeye devam edin ve bunlardan birinin o için x izni olmadığını göreceksiniz, örneğindrwxr-x---
Zanna

Yanıtlar:


21

Bunun nedeni, ağaçta yürütme izninizin olmadığı daha yüksek bir dizin bulunmasıdır. Bir üst dizinin bazı kullanıcılar için yürütme izni yoksa, söz konusu kullanıcı, bu alt dizinlerdeki izinlere bakılmaksızın alt dizinleri değiştiremez.

Misal:

$ 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

'Brownies' dizininin sahibiyim ve tüm kullanıcıların okuma ve girme iznine sahip olmasına rağmen, üst dizinin yürütme izni yoksa ona erişemiyorum.

Bu daha iyidir grupları kullanmak vermek üzere vermek dizinleri 777 izni daha izinlerini yönetmek için. Bunu yapmanız gerektiğinden emin misiniz?

Sorunu daha güvenli bir şekilde düzeltme:

/var/opt/gitlabDizin üzerinde böyle bir şey olduğunu varsayalım :

drwxr-x--- 5 git git 4096 aug 14 17:30 gitlab

Kendinizi ve git grubuna izin verilmesi gereken tüm diğer kullanıcıları ekleyin, örneğin:

sudo usermod -a -G john git

Bunun etkili olması için kullanıcıların oturumu kapatıp tekrar açmaları gerekir. Bir alt dizinde yazma izni gerekli olsa bile, bu arada üst dizine eklemenize gerek yoktur, bu yüzden hiç kullanmanıza gerek yoktur chmod. Kimsenin buna yazmasını önlemek için alt dizin izinlerinizi değiştirmek isteyebilirsiniz:

chmod 775 /var/opt/gitlab/git‌​-data/repositories/GL‌​/www.git/custom_hooks

veya

chmod o-w /var/opt/gitlab/git‌​-data/repositories/GL‌​/www.git/custom_hooks

1
Tekrar teşekkürler, hayır, sadece bazı senaryoları test ediyordum. Pencerelerde N ++ ile düzenlemeyi basit Gedit'ten çok daha rahat hissedin. Ayrıca, aynı anda yeni bir klasör oluşturarak YAPIŞTIRMAYAN bir şeyi kesemeyen temel Nautilus ... veya sağ tıklayın -> Yeni Klasör.
user1797147
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.