Kısıtlayıcı izinleri olan bir kök klasörüm varsa, diyelim ki 600 ve alt klasörler / dosyalar 777 iznine sahipse, kök klasörde 600 olsa bile herkes alt dosyayı okuyabilir / yazabilir / yürütebilir mi?
Kısıtlayıcı izinleri olan bir kök klasörüm varsa, diyelim ki 600 ve alt klasörler / dosyalar 777 iznine sahipse, kök klasörde 600 olsa bile herkes alt dosyayı okuyabilir / yazabilir / yürütebilir mi?
Yanıtlar:
Kesin kural şudur: Bir dizini, eğer sadece üzerinde izniniz varsa.
Bu nedenle, örneğin, erişmek için, istediğiniz erişim türüne ilişkin izinler ve ayrıca dir/subdir/file
izinler uygulamanız gerekir . Köşe davalarına girerken, bir dosyaya göreceli yoldan (Linux'ta yaptığınız) erişmek için geçerli dizinde geçerli bir dizine izin vermeniz gerekip gerekmediğinden emin değilim.dir
dir/subdir
file
Bir dosyaya erişme biçiminiz önemlidir. Örneğin, açık /foo/bar
fakat açık olmayan /foo
, ancak geçerli dizininizdeki yürütme izniniz /foo/bar
varsa, dosyalara /foo/bar
göreceli bir yoldan ancak mutlak bir yoldan erişemezsiniz . /foo/bar
Bu senaryoda değiştirilemez ; cd /foo/bar
imtiyazsız gitmeden önce daha ayrıcalıklı bir süreç olduğu tahmin edilmektedir . Bir dosyada birden çok sabit bağlantı varsa, erişmek için kullandığınız yol erişim kısıtlamalarınızı belirler.
Sembolik bağlantılar hiçbir şeyi değiştirmez. Çekirdek, arama işleminin erişim haklarını kullanarak geçişi yapar. Örneğin sym
, dizine sembolik bir link ise, erişim dir
için izin vermeniz gerekir . İşaret bağlantısının kendisi üzerindeki izinler işletim sistemine ve dosya sistemine bağlı olarak önemli olabilir veya olmayabilir (bazıları onlara saygı gösterir, bazıları onları görmezden gelir).dir
sym/foo
Yürütme izninin kök dizinden kaldırılması, kullanıcıyı dizin ağacının bir bölümüne (daha ayrıcalıklı bir sürecin değişmesi gereken) etkili bir şekilde kısıtlar. Bu, erişim kontrol listelerinin herhangi bir kullanım olmasını gerektirir. Örneğin, eğer /
ve /home
sınırları kapalı olan joe
( setfacl -m user:joe:0 / /home
) ve /home/joe
bir joe
'o zaman, ev dizinini joe
(ile kabuk komut dosyalarını çalıştıran dahil sisteminin geri kalanına ulaşmak mümkün olmayacaktır /bin/sh
erişmeniz gereken bağlantılı ikilileri veya dinamik olarak /lib
, size böylece' d pratik kullanım için daha derine inmeniz gerekir, örneğin setfacl -m user:joe:0 /*; setfacl -d user:joe /bin /lib
).
Bir dizindeki okuma izni, girişlerin numaralandırılmasına izin verir. Okuma izni vermeden yürütme izni vermek zaman zaman kullanışlıdır: girişlerin adları onlara erişmek için parola görevi görür. Yürütme izni olmadan bir dizine okuma veya yazma izni vermenin herhangi bir kullanımı olduğunu düşünemiyorum.
Alt dizini, üst dizini değil bile yazılabilir hale getirebilirsiniz. Bunu gruplar için yapıyorum.
Örneğin: parent dizini, grup kodlayıcıya aittir.
drwxr-sr-x
alt dizin
drwxrwsr-x
Siz (kodlayıcı grubunun herhangi bir üyesi) yine de alt dizine yazabilirsiniz, ancak üst dizine yazamazsınız.