Bir dosyayı silinmeye karşı kilitleme ancak yine de yazılabilir duruma getirme


33

Silme işlemine karşı bir dosyayı kilitlemek istiyorum ancak yine de yazılabilir olmak istiyorum. Bunu nasıl yaparım?

Söz konusu dosya, NAS SMB Ağ paylaşımındaki bir dosya olarak bir Truecrypt birimidir, dolayısıyla yanlışlıkla silmeyi istemiyorum.


1
Bu mümkün değil. Silme işlemi için sıfır yazma.
soandos

@soandos - Korkarım kabul etmiyorum. Çünkü ona sıfır yazmak, dosyanın var olduğu anlamına gelir ancak sıfırlarla doludur. Nitekim sıfırlarla dolu bir 'seyrek' dosya oluşturmak için Linux komutları vardır.
therobyouknow

Yanıtlar:


34

Pencereler için:

  1. Dosyadaki "Sil" iznini reddet.
  2. Üst dizinde "Alt öğeleri sil" iznini kaldırın veya reddedin.

Unix için (OS X dahil):

  1. Üst dizindeki "Yaz" iznini kaldırın.

Bunun yalnızca dosyanın kaldırılmasını (silinmesini) önleyeceğini, ancak yanlışlıkla kesilmemesi veya çöplerin üzerine yazılmaması için hiçbir şey yapmayacağını unutmayın. Bir dosya yazılabilir ise, ona bir şey yazabilirsiniz dönem.

Ayrıca, dosya izinleri işletim sistemleri arasında çeviri yapmak imkansızdır. NAS Linux kullanıyorsa ve izinleri Windows içinden ayarlamaya çalışıyorsanız, sonuç beklediğinizden farklı olabilir.


En iyi cevabı bence alacağım. +1 ve teşekkürler. Evet, NAS, ARM üzerinde linux sürümünü çalıştıran bir Lacie 2big'dir.
therobyouknow

1
Silmeyi gerçekten reddetmeniz gerekmez, yalnızca mevcut erişim denetimi girişlerinden (ACE'ler) Sil'i kaldırın. (ACE'leri reddetmek işleri daha karmaşık hale getirir, genellikle uzun vadede iyi bir kurs değildir.)
Richard

2
@Richard: AFAIK, kaldırılması, bu dosya için ACL devralma işleminin tamamen devre dışı bırakılmasını gerektirir, bu da sonunda daha da karmaşık hale getirir .
Grawity

Grawity ile aynı fikirdeyim. Silme İzin Verme Reddetme yoludur. Paylaşım izni değiştirilmeye ayarlanmışsa, reddetme yine de silinmeyi engeller, silme işlemine izin verir.
surfasb

26

Linux'ta buna sert bir bağlantı oluşturabilirsiniz. O zaman ona yazabilir ve "silebilirsin", ancak yalnızca dizindeki referansı kaldıracaksınız. Diğer hard link hala dosya içeriğine işaret edecektir, bu yüzden zaten silinmeyecektir.

Unix dünyasında, dosyaları "silmeyin". Sadece ona bağlantıların sayısını azaltıyorsun. Başka hiçbir şeye işaret etmediğinde, alan boş kabul edilir ve kullanılabilir…


2
İyi bir fikir. @Rob NAS'ında hardlinks yaratabiliyor mu bilmiyorum, ama eğer yapabilirse bu çok akıllıca bir çözüm.
CarlF

1
+1 Mümkünse bunu kabul edilen cevapla bir araya getirebilirim. veya değilse ayrı ayrı. Dediği gibi kutunun dışında düşünmek için +1. Ancak söz konusu linux payı bir NAS sürücüsüdür, hangi konsol olanaklarının mevcut olduğundan emin değil, gömülü veya yarı gömülü bir linux biçimidir. Yine de +1, düzenli bir linux masaüstü bilgisayarına ya da bir paylaşım görevi gören bir bilgisayara yardımcı olabilir.
therobyouknow

2
Aynı teknik NTFS ile çalışmalıdır.
Rotsor

Woliveirajr çözümünü desteklemek için +1 RBerteig ve +1 CarlF.
therobyouknow

12

Yedekler. Yazılabilir bir dosyayı silmeden bile olsa zararlardan koruyamazsınız . Her gün yedekleyin.


4
+1. Başka hangi kayışların ve jartiyerlerin kullanıldığı önemli değil.
RBerteig

+1 CarlF ve +1 RBerteig. Tamamen katılıyorum. Dosyaların tümü de optik ortama (DVD-R, + R, + R DL ve blu-ray 25 gb ve dl 50 gb) yedeklenir. Ayrıca ikinci bir sabit disk düşünebilirim.
therobyouknow

Ben dosyaların yedeklerini var eklemelisiniz içinde konteyner dosyasıdır truecrypt hacmi. Truecrypt biriminin kendisi değil.
therobyouknow

0

Önceki kulelere ek olarak selinux'a bakmayı düşünürdüm. Orada oldukça ayrıntılı kısıtlamaları tanımlayabilirsiniz.


0

Btrfs gibi bir inek dosya sisteminde alt hacimleri + anlık görüntüleri veya cp'yi --reflink = ile kullanarak başarabilirsiniz, bu daima istediğiniz kadar çok dosyaya yol açacaktır; çok sayıda kopya veya anlık görüntü olmadan, özellikle küçük dosya boyutlarıyla birleştirildiğinde, bu fark edilmemelidir), bu durumda yalnızca değiştirilen parçalar ayrı olarak depolanır ve gerisi hala paylaşılır. Daha sonra her birinin izinlerini ayrı ayrı ayarlayın (yalnızca normalde anlık görüntü alın veya yalnızca salt okunur izinlerle kopyalayın. yazma izni yok olsa bile dosyayı yazmayın veya değiştirmeyin).


0

"Standart" UNIX'te, eğer dizin yazılabilir ise, tek bir dosyayı silme işleminden korumak imkansız gibi görünmektedir. Sezgisel olarak, w korumasını mod bitlerinden 'chmod' ile temizlemenin silinmeye karşı korunması gerektiğini düşünebilirsiniz, ancak BU DEĞİLDİR. Benzer şekilde, AFS'de, tek dosyaların silinmesini önleyemezsiniz, çünkü ACL girişleri (ilgili 'd' izninin bulunmaması veya reddedilmesi) yalnızca dizinin tamamı için geçerlidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.