Access Control List(ACL) on Linux
Linux ta bulunan bu özelliği istenilen bir kullanıcıya istenilen dosya için belirli haklar vermek için kullanırız.Linux bulunan dosya haklarından biraz bahsetmet gerekirse;
1 2 3
-(rw-)(rw-)(r--) 1 root root 16 Aug 10 11:56 file
1. kısım dosya sahibinin sahip olduğu haklar
2. kısım dosya sahibinini bulunduğu gruptaki diğer kişilerin hakları
3. kısım ise dosya sahibi ve grubunun dışında kalan kişilerin bu dosya üzerinde haklarıdır.
Mesela root kullanıcısının ve grubunun bu dosya üzerinde yazma hakkı varkan bunların dışında kalan kullanıcıların bu dosya üzerinde yazma hakkı yoktur.Bunu chmod komutuyla da yapabiliriz.Fakat bununla sadece kullanıcı ve grubu dışında bulunan bütün kişilere yetki veririz.Oysa bizim istediğimiz bunların dışında kalan özel bir kullanıcıya okuma yetkisi vermek. Tam bu noktada ACL devreye giriyor.Tek bir kullanıcıya okuma yetkisi vermek için şu adımları izleriz;
1)İlk olarak bu özelliği kullanmak için dosyanın bulunduğu partititon ACL özelliği ile mount edilmelidir.
Bunun için /etc/fstab dosyasında defaults özelliğinin bulunduğu kolona acl ekleriz.
/dev/sda5 /tmp ext3 defaults,acl 1 1
2)mount -o remount,acl /dev/sda5(dosyanın bulunduğu partititon) komutu ile acl özelliği aktif ederiz.
3)setfacl -m user:oracle:w -- file
4)getfacl file komutu ile dosya üzerinde bulunan kullanıcı haklarını görebiliriz. (ls -la komutunun genişletilmiş versiyonu olarak düşünülenilit.).
Komuttan sonra görüldüğü bigi sadece oracle kullanıcısına write hakkı vermiş olduk
Linux ta bulunan bu özelliği istenilen bir kullanıcıya istenilen dosya için belirli haklar vermek için kullanırız.Linux bulunan dosya haklarından biraz bahsetmet gerekirse;
1 2 3
-(rw-)(rw-)(r--) 1 root root 16 Aug 10 11:56 file
1. kısım dosya sahibinin sahip olduğu haklar
2. kısım dosya sahibinini bulunduğu gruptaki diğer kişilerin hakları
3. kısım ise dosya sahibi ve grubunun dışında kalan kişilerin bu dosya üzerinde haklarıdır.
Mesela root kullanıcısının ve grubunun bu dosya üzerinde yazma hakkı varkan bunların dışında kalan kullanıcıların bu dosya üzerinde yazma hakkı yoktur.Bunu chmod komutuyla da yapabiliriz.Fakat bununla sadece kullanıcı ve grubu dışında bulunan bütün kişilere yetki veririz.Oysa bizim istediğimiz bunların dışında kalan özel bir kullanıcıya okuma yetkisi vermek. Tam bu noktada ACL devreye giriyor.Tek bir kullanıcıya okuma yetkisi vermek için şu adımları izleriz;
1)İlk olarak bu özelliği kullanmak için dosyanın bulunduğu partititon ACL özelliği ile mount edilmelidir.
Bunun için /etc/fstab dosyasında defaults özelliğinin bulunduğu kolona acl ekleriz.
/dev/sda5 /tmp ext3 defaults,acl 1 1
2)mount -o remount,acl /dev/sda5(dosyanın bulunduğu partititon) komutu ile acl özelliği aktif ederiz.
3)setfacl -m user:oracle:w -- file
4)getfacl file komutu ile dosya üzerinde bulunan kullanıcı haklarını görebiliriz. (ls -la komutunun genişletilmiş versiyonu olarak düşünülenilit.).
[root@db ~]# getfacl file # file: file # owner: root # group: root user::rw- group::rw- mask::rw- other::r--
Komuttan sonra görüldüğü bigi sadece oracle kullanıcısına write hakkı vermiş olduk
[root@db ~]# getfacl file # file: file # owner: root # group: root user::rw- user:oracle:-w- group::rw- mask::rw- other::r--
NOT:setfacl -m group:salesgroup:w -- file bu komut ile sistemde bulunan belirli bir grubun bütün kullanıcılarına dosya üzerinde write hakkı verilir.