Herhangi bir dosyayı root izni sayesinde normal kullanıcılar tarafından silinmesini veya değiştirilmesini engelleyebiliyorum. Benim de tam aradığım özellik buydu.
İyi de sizin çekindiğiniz husus, bu dizin altındaki dosyaların ele geçirilmesi sonucu bunlara ulaşılması. Bunun için en etkili yöntem şifrelenmiş dosya oluşturmaktır.
Bahsettiğiniz şekilde kullanıcı hakkı değiştirilmiş bir dizin ya da dosya ele geçirilirse, kolayca içindeki verilere ulaşılabilir. Amacınız sistemdeki diğer kullanıcılardan dosyaları gizlemekse; bu işlem işe yarar, diğer olasılık için işe yaramaz.
Ayrıca komutta eksiklik var,
chown root ./dosya
komutu sadece dosyanın kullanıcısını değiştirir, dosya/dizin grubuna dokunmaz ve altındaki dizin ve dosyalara bir şey yapmaz. Bunlar, kullanıcının erişebileceği bir grup altındaysa, kullanıcı istediği gibi yazıp çizmeye devam eder. Komutu
chown root:root ./dosya
şeklinde düzenlerseniz, kullanıcı grubunu da root olarak ayarlarsınız,
chown -R root:root ./dosya
şeklinde düzenlerseniz dizin ve altındaki tüm dosya ve dizinler root kullanıcısı ve grubu için yetkilendirilmiş olur. Bu da tek başına yeterli olmaz, diğerleri için de dosya ve dizinlerin erişilebilirliğini engellemek gerekir, bu durumda kullanılması gereken komut
chmod 770 ./dosya
olabilir, alt dosya ve diznleri de değiştirmek isterseniz, komutu -R değişkeni ile çalıştırırsınız.
Amacınız sistemdeki diğer kullanıcıların bu dizin ve dosyalara erişmesin engellemekse, izinleri root olarak ayarlamaya da gerek yok aslında, diğerleri için izni iptal etmeniz daha basit bir işlem olacaktır.
Bütün bunlara rağmen; dizini elde eden birisinin, izinleri değiştirmesi sadece 2 komuta bakar. Bu sebeple şifrelemeye öncelik vermelisiniz.