İşyerimdeki bir uygulamanın kullandığı çok önemli bir dosyam var, ne olursa olsun silmediğinden emin olmalıyım, bunu nasıl yapabilirim?
İşyerimdeki bir uygulamanın kullandığı çok önemli bir dosyam var, ne olursa olsun silmediğinden emin olmalıyım, bunu nasıl yapabilirim?
Yanıtlar:
Evet, dosyanın özniteliklerini salt okunur olarak değiştirebilirsiniz.
Komut:
chattr +i filename
Ve devre dışı bırakmak için:
chattr -i filename
Kimden man chattr
:
Özelliğe sahip bir dosya
i
değiştirilemez: silinemez veya yeniden adlandırılamaz, bu dosyaya bağlantı oluşturulamaz ve dosyaya veri yazılamaz. Bu özelliği yalnızca süper kullanıcı veyaCAP_LINUX_IMMUTABLE
özelliğe sahip bir işlem ayarlayabilir veya silebilir.
chflags schg
CD'ye yaz. CD'yi bir CD-ROM sürücüsüne yerleştirin ve oradan erişin.
Örnek:
# dd if=/dev/zero of=readonly.img bs=1024 count=1024
# mkfs.ext2 readonly.img
# mkdir readonlyfolder
# mount readonly.img readonlyfolder/
# echo "can't delete this" > readonlyfolder/permanent.txt
# umount readonlyfolder
# mount -o ro readonly.img readonlyfolder
# cat readonlyfolder/permanent.txt
can't delete this
# rm readonlyfolder/permanent.txt
rm: cannot remove `readonlyfolder/permanent.txt': Read-only file system
mount -o remount,rw readonlyfolder/ && rm readonlyfolder/permanent.txt
squashfs
veya cramfs
sıkıştırılmış olan ve salt okunur. Dosya sistemini oluşturmak için özel bir araca ihtiyacı var.
Linux, bilmesi oldukça güçlü ve kullanışlı bir özellik olan bağlama bağlama seçeneğine sahiptir :
% cd $TMP && mkdir usebindmountluke && cd usebindmountluke
% echo usebindmountluke > preciousfile
% sudo mount -B preciousfile preciousfile
% sudo mount -oremount,ro preciousfile
% echo sowhat > preciousfile
zsh: read-only file system: preciousfile
% rm preciousfile
rm: cannot remove ‘preciousfile’: Read-only file system
- burada yapılan dosya kendi kendine bağlanır dosyadır (evet, bunu Linux'ta yapabilirsiniz), sonra R / O modunda yeniden monte edilir. Tabii ki bu da rehbere yapılabilir.
Ayrıca dosyaya birden çok sabit bağlantı oluşturmanız gerekir. Bunlar, normal kullanıcıların erişemeyeceği çeşitli yerlerde olmalıdır.
Bu şekilde, chattr korumanızı geçersiz kılmayı başarsalar bile, veriler kalır ve uygulamanızın aradığı yerde kolayca geri yükleyebilirsiniz.
Diğerleri sorunuzu istediğiniz gibi yanıtladı. @Sven'in bir yorumunda belirtildiği gibi, "Asla bir dosyayı kaybetmediğimden nasıl emin olabilirim?" Sorusunun genel çözümü. Dosyanın bir yedeğini oluşturmaktır. Dosyanın bir kopyasını alın ve birden çok yerde saklayın. Ayrıca, dosya son derece önemliyse ve şirketinizin önemli verileri yedekleme servisiyle yedeklemek için bir politikası varsa, bu dosyanın hizmete dahil edilmesini isteyebilirsiniz.
Linux'ta değişmez bayrağı sadece dosya sisteminin bazı türleri tarafından desteklenmesini (gibi yerli olanların çoğu edilir ext4
, xfs
, btrfs
...)
Desteklenmeyen dosya sistemlerinde, başka bir seçenek de dosyayı salt okunur modda bağlamak. Bu iki adımda yapılmalıdır:
mount --bind file file
mount -o remount,bind,ro file
Bu, her açılışta, örneğin üzerinden yapılmalıdır /etc/fstab
.
umount
dosyayı tekrar yazma iznini alan herkes
Kevin'in cevabına yaptığı bir yorumda , Jerry şöyle diyor:
Tabii ki dosya düzenli olarak yedekleniyor, sadece kutuda root kullanıcı izinleri ile çalışan kullanıcılara karşı başka bir koruma katmanı istedim. -
Bu uygulamayı değiştiremeyeceğinizi farzedeceğim, çünkü bu gerçekten, gerçekten kötü bir fikir.
Salt okunur bir aygıt kullanmayla ilgili tüm öneriler aynı soruna sahiptir - gerektiğinde yasal değişiklikler yapmanız sizin için bir PITA yapar. SD kart gibi kilitlenebilir bir sürücü olması durumunda, değişikliklerinizi yapmak için kilidini açtığınızda aniden savunmasız olduğunuz problemi yaşarsınız.
Bunun yerine tavsiye edeceğim şey, başka bir makineyi NFS sunucusu olarak ayarlamak ve dizini, kullanıcıların kullandığı makinelere önemli dosyalarla paylaşmak. Bağlantısını salt okunur olarak paylaşın, böylece güvenmediğiniz kullanıcılara sahip makineler herhangi bir değişiklik yapamaz. Yasal olarak değişiklik yapmanız gerektiğinde, NFS sunucusuna bağlanabilir ve değişikliklerimizi burada yapabilirsiniz.
Bunu web sunucularımız için kullanıyoruz, böylece web sunucusuna yapılan başarılı bir istismar, sunucunun daha sonra sunacağı dosyaları ekleyemez veya değiştiremez veya yapılandırmayı değiştiremez.
Bu saplamanın, bağlama noktası ile ilgili olanların tümü ile aynı şekilde atlanabileceğini unutmayın:
Neden tasarımı salt okunur olan bir ISO 9660 görüntüsü oluşturmuyorsunuz?
ISO imgesini takın, bir CD-ROM gibi görünecektir, ancak bir sabit sürücünün performansı ile, takılan resimdeki dosyalar da fiziksel bir CD-ROM'daki dosyalar kadar silinmekten daha güvenli olacaktır.
Hassas dosyayı bir CD'ye yazma ve bir CD-ROM'dan çalıştırma fikri, dosyadaki değişmez bitin ayarlanmasının yeterli olmadığı varsayılarak ilginçtir.
Performans da dahil olmak üzere fiziksel bir CD'den çıkarmanın olası olumsuz sorunları var (CD-ROM sürücüleri, sabit sürücülerden veya SSD'lerden çok daha yavaştır). CD-ROM'un iyi niyetli bir kişi tarafından çıkarılması ve erişmesi gereken farklı bir diskle değiştirilmesi olasılığı vardır. Kötü amaçlı bir partinin sadece diski çıkarması ve bir mikrodalgada (veya çöplükte) fırlatması olasılığı vardır, bu nedenle dosyanızı "siler". Sadece bir dosya ve diğer faktörler için özel bir donanım CD-ROM sürücüsüne sahip olmanın sakıncası var.
Ancak OP, birincil amacın, kötü niyetli eylemlere karşı değil, yanlışlıkla silinmeye karşı korumak olduğunu ve bir kazanın meydana gelmesi durumunda söz konusu dosyaların yedeklendiğini ve kurtarılabileceğini açıkça belirtti. yanlışlıkla silinmesi.
Dosyanın monte edilmiş bir ISO görüntüsünden çalıştırılması gereksinimi karşılar gibi görünüyor.
shred
o noktada olur. Ancak makineye fiziksel erişimi reddetmediğiniz sürece, fiziksel bir CD'yi sürücüden çıkarmak ve çöp kutusuna atmak, ISO dosyasının bağlantısını kesmek ve üzerine yazmaktan daha kolay görünüyor. Ve OP, önemli dosyanın düzenli aralıklarla yedeklendiğini belirtti, bu nedenle, kötü niyetli yaramazlıklara karşı değil, yalnızca kazara zarara karşı ekstra bir önlem olduğunu belirtti.
chattr +i
yardımcı olabilir ancak dosyayı salt okunur hale getirir (ve geçersiz kılınabilirchattr -i
), ayrıca SELInux vb. İle korunmaya çalışabilirsiniz.