Blog

Linux Chattr Komutu ve Dosya Dokunulmazlığı

Merhaba !

Bu blogta Lunix sistemlerde bir dosyanın özniteliklerini değiştirebileceğimiz önemli ve kullanışlı bir komut olan CHATTR komutundan bahsedeceğim. chattr komutu sayesinde bir dosya için üst düzey izinlerin verilmesi, dosyanın güvenli olarak silinebilirliğinin sağlanması, dosyanın dokunulmaz kılınması, dosyada yapılan değişikliklerin arka planda yapacağı işlemlerin belirlenmesi, yedekleme aşamasında dosya için uygulanması gereken işlemlerin belirlenmesi gibi bir çok özel tanımlamalar yapılabilir.

Bir dosya birden fazla özniteliğe sahip olabilir. Bunu linux dosya izin sisteminde olduğu gibi düşünebiliriz. chmod komutunda kullanılan “+” işleci chattr komutu içinde kullanılmaktadır.

Parametreler

“+” işleci kendisinden sonra belirtilen özniteliğin dosyanın sahip olduğu mevcut özniteliklerin arasına eklenmesini sağlar.

“-“ işleci ise bunun tam tersini yaparak kendisinden sonra belirtilen özniteliğin dosyanın sahip olduğu mevcut özniteliklerden çıkarılmasını sağlar.

“=” işleci ise dosyanın sahip olduğu mevcut özniteliklerin parametre olarak belirtilen özniteliklerle tamamen yer değiştirmesini sağlar. Yani bir dosyanın tüm öznitelikleri tamamen değiştirilmek istenirse “=” işleci kullanılabilir.

-R parametresi dizin özniteliklerinin rekursif (ardışık) olarak değiştirilmesini sağlar. Bu parametrenin kullanıdığı dizinlerde sembolik bağlar mevcutsa bu dosyalar öznitelik değişikliğine tabi tutulmazlar yani yok sayılırlar.

-V parametresi yapılan öznitelik değişikliği hakkında daha ayrıntılı bir çıktı gösterilmesini sağlar.

v parametresi -V parametresiyle karıştırılmamalıdır. Bu parametre dosyanın sürüüm/nesil bilgisini öğrenmemizi sağlar.

 

Bazı Dosya Öznitelikleri

A : Bu özniteliğe sahip olan dosyalarda son erişim zamanları güncellenmez. Bu sayede sistemde giriş/çıkış işlemleri sırasında bir miktar tasarruf sağlanabilir.

a : Bu öznitelik sayesinde ilgili dosyanın yalnızca sonuna ekleme yapılabilir.

D : Bu öznitelik bir dizine uygulanabilir. Ve yapılan değişiklik senkronize olarak diske yazılır.

i : Bu öznitelik linux sistemlerde diğer özniteliklere göre en çok kullanılmakta olan özniteliktir diyebiliriz. i özniteliğine sahip olan bir dosya değiştirilemez, içeriği silinemez, içerik yazılamaz, dosyaya sembolik bağlar oluşturulamaz hatta ismi bile değiştirilemez. Kısacası dosyayı tamamen dokunulamaz bir hale getirir. İlk açıklamada da belirttiğim gibi chattr komutu ile belkide en fazla kullanılan öznitelik olarak bilinmetekdir.

s : Bu öznitelik silinme güvenliği olarak tanımlanmaktadır. Yani bu özniteliğe sahip olan bir dosya disk üzerinden silindiği zaman verinin sahip olduğu alan sıfırlarla doldurulur.

S : Bu öznitelik dosyada yapılan değişikliklerin doğrudan diske yazılmasını sağlar. Normal şartlarda dosya içerisinde yapılan değişikler bellekte tutulur ve “Kaydet” işlemi yapıldıktan sonra diske işlenmektedir. Bu özniteliğin kullanılılırken dikkat edilmesinde fayda var.

u : Bu özniteliğe sahip olan bir dosya içeriği silinemez. Bu dosyanın silinmesi durumunda mevcut içerik saklanır. Bu öznitelik bir dosyanın kurtarılmasında önemli rol oynamaktadır. Ayrıca kullanıcı hatalı bir silme işleminde sonra dosyayı geri getirmek isterse bu imkanı ona sağlamak için “u özniteliği” kullanılır.

 

Yukarıda chattr komutunun kullanıma dair bir kısım açıklamalar yaptım. Daha fazla parametre ve kullanım alanı için man dosyasını okuyabilirsiniz. Ayrıca bir dosyanın sahip olduğu öznitelikleri görüntülemek içinde “lsattr” komutunu kullanabiliriz. Bu komutun detaylı açıklamasını ilgili blog yazısında yapılmıştır.

lsattr komutu detaylı blog yazısı ==> Linux lsattr Komutu ve Dosya Öznitelikleri

 

 

Son olarak okuduğunuz için teşekkür ederim. Umarım yararlı bir blog olmuştur. Gözünüze takılan eksik bir nokta olduysa, anlamadığınız yada merak ettiğiniz bir husus varsa yorum kısmında belirtebilirsiniz. Bunların haricinde etik olan önerileriniz iletişim kısmından bana e-posta yoluyla iletebilirsiniz.

Bilgili, sağlıklı ve afiyetli günler dilerim…

 


 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir