Getfacl ; Dosyaların ACL bilgisine erişmek için kullanılır.
Setfacl ; Dosyaların ACL bilgisini girmek için kullanılır.
İki tip ACL bilgisi vardır. Eğer önceden ayarlanmış ise default olan ACL vardır, bir de normal ACL vardır.
Normal ACL hem dosya hem de dizinler için kullanılabilir.
Default ACL sadece dizinler üstünde kullanılabilir.
Öncelikle getfacl ve setfacl programları gibi çeşitli ACL yardımcı programlarını içeren acl paketimizi kuruyoruz.
sudo su apt install acl
Daha sonra bölümleri bağlama işlemini otomatikleştirmek için gerekli bilgileri içeren Fstab dosyamıza giriyoruz.
nano /etc/fstab
Fstab içinde listelenen bölümler, önyükleme işlemi sırasında otomatik olarak bağlanacak şekilde yapılandırılabilir.
Dosya sistemini önyükleme sırasında kontrol etmeyi ve ağ paylaşımlarını devre dışı bırakmak için "0" kullanırız.
device name mount point fs-type options dump-freq pass-num
/dev/sda1 /storage ext3 defaults, acl 0 0
Sistemi restart etmeden ACL’ yi aktif etmek için;
sudo mount -o remount /storage
Eğer bütün ACL bilgilerini yok etmek ve kullanmak istemiyorsanız;
–remove-all (-b) seçeneği ile o dosya üstünde tekrar normal Linux izin ve sahiplik seviyesine inebilirsiniz.
setfacl –remove-all /myfs/acl_ornek
Örnek Kullanım
emre Kullanıcısı için( r ) okuma değeri verildi.
sudo setfacl -m u:emre:r /home/test.txt
“ test.txt “ dosyasının acl bilgilerine erişildi.
sudo getfacl /home/test.txt
user::rwx
user:emre:r--
group::---
mask::r--
other::---
emre kullanıcısı ile erişmeyi deneyelim;
cat /home/test.txt
user: emre: r-- ==>( Sadece read yani okuma izni verilmiş. )
Başka bir kullanıcı ile denendiğinde;
ubuntu@emre: cat /home/test
ubuntu :: --- ==> “Permission denied” izin yetkisi reddedildi uyarısı alır.“
Geçerli ACL (ler) i değiştir.
-m modify the current ACL(s) of file(s)
Dosyaların ACL'lerinden girişleri kaldır.
-x mremove entries from the ACL(s) of file(s)
Tüm genişletilmiş ACL girişlerini kaldır.
-b remove all extended ACL entries
Alt dizinlere yineleme.
-R recurse into subdirectories
İşlemleri varsayılan ACL'ye uygulanır.
-d operations apply to the default ACL
Varsayılan ACL'yi kaldır.
-k remove the default ACL
Dosya geri yükleme ACL'leri (getfacl -R'nin tersi)
--restore=file restore ACLs (inverse of `getfacl -R')