Chmod vs ACL arasındaki fark


14

Anlıyorum chmodve chownnasıl izin bitleri iş, ama başka bir izin sistemi, Linux içeride var ACLolan setfaclve getfaclbu beni meraklandırıyor yüzden.

Bu iki izin kontrol sistemi arasındaki fark nedir? Birbirlerine müdahale ediyorlar mı?

Yanıtlar:


8

Biri diğerinden daha iyi değil, sadece farklı yöntemler ve düşünme biçimidir.

Her iki izin sistemini de sorunsuz bir şekilde aynı yolda kullanabilirsiniz.

Sahip, sahiplik grubu ve diğer izinleri değiştirirken birbirleriyle etkileşime girerler: bunlar için geçerli değeri setfacl'den ayarlarken, aslında ACL olanı değil, posix iznini ayarlar.

Posix izinleri yalnızca bir sahip, sahip olan grup ve "herkes" iznine izin verirken, ACL birden çok "sahip" kullanıcı ve gruba izin verir. ACL ayrıca bir klasördeki yeni dosyalar için varsayılan izinlerin ayarlanmasına da izin verir.

Daha sıkı kontrol için apparmor veya selinux ile daha fazla izin yönetimi ekleyebilirsiniz.


1
ls -lÇalıştığımda yalnızca posix izinlerini göreceğimi ve dosyayı daha da sınırlayan ACL izinlerinin gösterilmeyeceğini varsayarak doğru muyum ? Veya posix izinlerine bakılmaksızın saygı duyulur mu?
mFeinstein

3
@Feinstein Bağlıdır. Linux altında , ACL'nin mevcut olduğunu belirtmek için izin karakterlerinin sonuna ls -la yazar +. ACL varsa, temel izinler tüm hikayeyi anlatmaz: ACL POSIX izinlerini geçersiz kılar.
Gilles 'SO- kötü olmayı bırak'

Ah harika! Yani +en azından nöbet kendim İniyor beni durdurur
mFeinstein

3

Chmod (okuma / yazma / yürütme, kullanıcı / grup / diğer) tarafından ayarlanan klasik Unix izinleri ACL'den çok daha uzun süredir var olmuştur. Eğer ACL en başından beri var olsaydı, bildiğimiz gibi bir chmod olmazdı. Ancak, chmod çok uzun süredir var olduğundan, birçok uygulama bunu çağırır, birçok arşiv biçimi klasik izinleri vb. Destekler. ACL ile chmod izinlerini ifade edebilirsiniz; ACL için bir tür başlangıç ​​noktası görevi görürler.

Bkz dosya izinleri kullanıcı ve grup sahibi önceliği ve bir kullanıcı birden fazla gruba ait olduğunda ACLS ait Öncelik ACL huzurunda nasıl erişim kontrol eserlerin daha detaylı tedavi için.

chmodKomut ayrıca gerçekten izinleri olmayan bazı bayrakları kontrol, ama çoğu zaman yine izinleri denir: setuid, setgid ve yapışkan bit . Bunlar, dosyada hangi erişimlerin yetkilendirildiğini değil, dosyadaki belirli işlemlerin yetkilendirildikten sonra nasıl çalıştığını etkilemedikleri için gerçekte izin değildir. ACL'de böyle bir şey yok.


Bu yüzden bir dosyanın iznini gerçekten anlamak için hem ACL'yi hem de ls -l?
mFeinstein

Bir dosya / dizinde ACL'ye özgü izinler olup olmadığını görmenin bir yolu var mı?
mFeinstein

@mFeinstein Görüntülenen izinlerin sonunda lsfazladan olup olmadığını görün +veya getfaclACL dahil tüm izinleri görüntüleme komutunu çalıştırın .
Gilles 'SO- kötü olmayı bırak'

1
Sadece getfacl myFilemi?
mFeinstein

1
Evet, kontrol etmek istediğiniz yolda getfacl.
Zulgrib
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.