ACL izinleri nasıl işlenir ve belirli bir kullanıcı işlemi için hangi sırayla uygulanır?


21

CentOS 6.4

Dosya sistemi ACL kurallarının nasıl işlendiğini ve hangi sırayla ACL kurallarının uygulandığını daha iyi anlamaya çalışıyorum.

Örneğin, kullanıcıların bob ve joe'nin satış adında bir gruba ait olduğunu varsayalım. Ayrıca, aşağıdaki detayları içeren bir satış belgesine sahip olduğumu varsayalım:

[root@Maui ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

Sorum şu, böyle bir örnekte izinler nasıl işleniyor ve hangi erişim ayrıcalıkları öncelikli?

Sadece yukarıdan aşağıya bir arama var mı ve hangisi önce geçerli olursa, geçerli olan kural hangisi?

Veya Linux, söz konusu kullanıcı için en özel kuralın ne olduğuna bağlı olarak erişimi zorlar mı? Ya da belki de en kısıtlayıcı ve uygulanabilir kural öncelik taşır?

Yanıtlar:


15

Bu biraz geniş bir konu ve burada ele alınması gereken çok fazla şey. Sizi yönlendireceğim , SuSE Laboratuarlarından Andreas Grünbacher tarafından bir araya getirilen Linux tanıtım belgesindeki POSIX Erişim Kontrol Listelerine havale . ACL'lerin nasıl çalıştığını anlamak için konuyu ele almak ve yıkmak oldukça iyi bir iş çıkarır.

Senin örnek

Şimdi örneğinize bir göz atalım ve parçalayalım.

  • grup (satış)
  • satış grubu üyeleri (bob, joe)

Şimdi dosyadaki izinleri kıralım /home/foo/docs/foo.txt. ACL'ler, çoğu kullanıcının Unix'te, özellikle de Kullanıcı, Grup ve Diğer bitlerde bilmesi gereken aynı izinleri içerir. Öyleyse önce bunları çıkaralım.

user:: r--
group::r--
other::---

Bunlar genellikle şöyle görünür ls -l:

$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt

Bu ACL satırlarında dosyanın kime ait olduğunu ve grubun ne olduğunu görebilirsiniz:

# owner: jane
# group: executives

Şimdi ACL'lerin nitrit kumuna giriyoruz:

user:bob:rw-
user:joe:rwx
group:sales:rwx

Bu kullanıcının bu gösteriyor bobsahiptir rwkullanıcı ise, joesahip rwx. Ayrıca rwxjoe'ye benzer bir grup var . Bu izinler, kullanıcı sütunundaki gibils -l çıktımızdaki 3 gruba (jane, bob ve joe) ve 2 gruba (yöneticiler ve satışlar) sahipmiş gibi. ACL'lerden başka bir ayrım yoktur.

Son olarak maskçizgi:

mask::rwx

Bu durumda hiçbir şeyi maskelemiyoruz, çok açık. Yani kullanıcılar bob ve joe bu satırları varsa:

user:bob:rw-
user:joe:rwx

Öyleyse bunlar etkili izinleri. Maske böyle olsaydı:

mask::r-x

O zaman onların etkili izinleri şöyle olurdu:

user:bob:rw-    # effective:r--
user:joe:rwx    # effective:r-x

Bu, toptan bir şekilde verilen izinleri kısıtlamak için güçlü bir mekanizmadır.

NOT: Dosya sahibi ve diğer izinler, etkili haklar maskesinden etkilenmez; diğer tüm girişler! Dolayısıyla, maske ile ilgili olarak, ACL izinleri geleneksel Unix izinleriyle karşılaştırıldığında ikinci sınıf vatandaşlardır.

Referanslar

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.