Linux'ta ACL izinlerini yinelemeli olarak ayarlamak için setfacl nasıl alınır?


20

Yeni bir sunucu kuruyorum ve ACL'ye chown: chgrp: chmod stili izinlerini denemek istedim.

Setfacl için man sayfası, '-R' seçeneğinin ACL'yi dosyalarda ve dizinlerde özyinelemeli olarak ayarlamak için kullanılabileceğini gösterir.

-R, --recursive Tüm dosya ve dizinlere özyinelemeli olarak işlemleri uygular. Bu seçenek '--restore' ile karıştırılamaz.

Dizin düzenim şöyle görünüyorsa

test/
   subtest/
   subtest.txt

ve idam ediyorum

setfacl -Rm d:u:foo:rwX test

ACL, 'subtest' dizininde etkili olur, ancak subtest.txt dosyasında etkili olmaz.

Ben geçici çözüm bulmak için find + exec kullanabilirsiniz düşünüyorum, ama ben birkaç diğer yönetici yetiştirmek için bu sunucuyu kullanmayı planlıyorum ve ben mümkün olduğunca basit tutmak istiyorum, bu yüzden bazı daha gelişmiş takılmak yok sözleşmeler.

Teşekkürler

Yanıtlar:


43

Deneyin:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

geçerli ACL'yi ve varsayılanı değiştirmek için. Ben "d:" sadece dizinlerin (d) efault ACL etkilediğini ve dosyaları dokunulmaz bırakır inanıyorum. Ardından, dizinde yeni bir dosya oluşturursanız , üst dizinin ACL'sini varsayılan olarak devralır.


Biraz gereksiz
hissetse

1
Bu, erişim denetimini kaldırmak için de işe yarar. Belki de etkisi olan bir şey: sudo setfacl -Rx g: gid path

-Rve -mbayrakları arasındaki yerleri değiştirmek neden komutu kırar?
pkaramol

@pkaramol: -mSeçenek bir argüman aldığından ( u:foo:rwX,d:u:foo:rwXbu durumda ACL spesifikasyonu ) ve seçeneklerin sırasını değiştirmek seçeneği argümanından ayırır. Öncelikle setfaclana seçeneklerini beklemek için kodlanmış olabilir .
sonraki duyuruya kadar duraklatıldı.
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.