26 Haziran 2016

Linux'de Dosya Öznitelikleri (Linux File Attributes)

Linux'de Dosya Öznitelikleri (Linux File Attributes)

Linux'de bir dosyaya "ls -l" komutu ile baktığınızda size dosyanın boyutu, sahibi, izinlerini, son değişikliğini hakkında bilgi verir. Dosyanın ismi ile değil özelliği ile ilgili bilgilerin bütününe Linux File Attribute denir. Dosyanın normal özellikleri dışında dosyayı hiç değiştirememe, silinmesini iptal etme, sıkıştırma gibi ek özellikleri de siz Linux'de "chattr" komutu ile yapabilirsiniz. Bu yaptığınız ek müdahaleleri de yine terminal ekranından "lsattr" komutu ile görebilirsiniz.

Linux'de chattr komutunun kullanımı aşağıdaki gibi olup "-"(özelliği de-aktif etmek) veya "+"(özelliği aktif etmek) ile dosyaya parametere verip dosya üzerinde nitelik değiştirmesi yaparız.
# chattr [-+=AacDdijsTtSu] files

Linux'de chattr komutunun detaylı kullanımı için;
# chattr [-RVf] [-+=AacDdijsTtSu] [-v version] files

File Attributes(Nitelikler)

a (Append only): Dosya üzerine sadece yeni veri eklenebilir ama var olan veriler değiştirilemez veya silinemez.

c (Compressed): A file with the c attribute set is automatically compressed on the disk by the kernel. A read from this file returns uncompressed data. A write to this file compresses data before storing them on the disk.

i (Immutable): Dosya içeriği herhangi bir şekilde değiştirilemez, silinemez ve isim değişikliği yapılamaz.

A (No "atime" updates): Dosyaya yapılan erişime ait zaman bilgisi güncellenmez. En son siz değiştirmeden önceki zaman dilimini baz alır.

Örnek olarak bir dosyanın silinmesine izin vermeyelim, bunun için "+i" parametresi vereceğiz;
# chattr +i file

Dosyanın File Attributes özelliğini görmek için;
# lsattr file

Dosyayı silmek istediğimizde hata verecek ve silmeyecektir;
# rm -rf file

Verdiğimiz özelliği geri almak için "-i" parametresi vereceğiz;
# chattr -i file

Dosyayı özelliği aldıktan sonra silebiliriz;
# rm -vf file

Örnekle "+a" niteliğini verecek olursak;
# chattr +a file

Dosya üzerine sadece yeni veri eklenebilir fakat var olan veriler değiştirilemez veya silinemez;
# echo veri >> file

Sunucu üzerinde bir dosyaya "+i" niteliği verilirse ve değiştirmek için ilgili "chattr" komutu silinirse;
# chattr +i file

# locate chattr
/usr/bin/chattr

# rm -rf /usr/bin/chattr

Aşağıdaki işlem yapılamayacağı için;
# chattr -i file

Dosya silme işlemi olmayacaktır;
# rm -f file

Bu işlemi düzeltme tekrar ROOT(UID=0) yetkisine sahip kullanıcı tarafından sunucu güncellenerek giderilir.

Kaynaklar
en.wikipedia.org/wiki/Chattr
www.belgeler.org/glibc/glibc-File-Attributes.html (Linux Dosya Öznitelikleri)
www.belgeler.org/man/man1/man1-chattr.html (Linux chattr komutu)
wiki.archlinux.org/index.php/File_permissions_and_attributes (File Permissions & Attributes)
en.wikipedia.org/wiki/Extended_file_attributes
www.cyberciti.biz/tips/linux-password-trick.html

Hiç yorum yok:

Yorum Gönder