chattr komutu ile dosya/dizin kilitlemek

Linux işletim sistemleri üzerinde, belirli bir dosya veya klasörde değişiklik yapılmasını istemediğimiz zamanlar olabiliyor. Örneğin bir kullanıcıya linux hosting FTP şifrenizi verdiniz fakat belirlediğiniz bir klasör veya dosyada değişiklik yapmamasını veya silmemesini isterseniz dosya/klasörü kilitleyebilirsiniz.

chattr nedir?

chattr komutu, değişiklik yapılmasını istemediğiniz bir dosyayı kilitler ve dosya üzerinde silme dahil (chmod vs.) herhangi bir işlem yapılmasını engeller.

chattr komutu nasıl kullanır?

chattr +i dosyadı şeklinde kullanılır.

Ftp’den veya ssh üzerinden de dosya silinemez veya üzerinde değişiklik yapılmaz. Yani ftp’ye bağlandığınız bilgisayara virüs girdiğinde, iframe ile dosyalarınızı değiştiren virüsten de etkilenmezsiniz. Veya olası bir wordpress açığında index.php dosyasını kilitlemişseniz, index.php dosyanıza yazamazlar.

chattr dizin kilitleme

Kilitleme için

chattr +a dosyaadi
chattr +i dosyaadi

Kilidi kaldırmak için ise

chattr -a dosyaadi
chattr -i dosyaadi

lsattr ile kontrol ettiğinizde, dosya özelliklerinde “i” şeklinde bir ibare görürsünüz.

şeklinde de bir dizini kilitleyebilirsiniz. Dizini tekrar açmadan bu dizinde herhangi bir işlem yapılamaz.

chattr ile kilitlenmiş bir dosya/dizin üzerinde işlem yaptığınızda, root dahi olsanız alacağınız hata şu şekilde olacaktır;

chmod : changing permissions of “dosya_adı” : Operattion not permitted