10 Ağustos 2012 Cuma

                                     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.).
 
[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.