Ich möchte eine Datei gegen Löschen sperren, aber dennoch beschreibbar sein. Wie mache ich das?
Bei der fraglichen Datei handelt es sich um ein Truecrypt-Volume als Datei auf einer NAS SMB-Netzwerkfreigabe, sodass ich sie nicht versehentlich löschen möchte.
linux
windows
filesystems
wie Sie wissen
quelle
quelle
Antworten:
Für Windows:
Für Unix (einschließlich OS X):
Beachten Sie, dass dies nur das Entfernen (Löschen) der Datei verhindert, aber nichts gegen versehentliches Abschneiden oder Überschreiben mit Müll unternimmt. Wenn eine Datei beschreibbar ist, können Sie sie beliebig beschreiben.
Außerdem können Dateiberechtigungen kaum zwischen Betriebssystemen übersetzt werden. Wenn auf dem NAS Linux ausgeführt wird und Sie versuchen, Berechtigungen in Windows festzulegen, kann das Endergebnis von Ihren Erwartungen abweichen.
quelle
Unter Linux können Sie eine feste Verknüpfung erstellen. Dann können Sie darauf schreiben und es "löschen", aber Sie werden nur den Verweis in Ihrem Verzeichnis entfernen. Der andere Hardlink verweist weiterhin auf den Inhalt der Datei, sodass diese ohnehin nicht gelöscht wurde.
In der Unix-Welt werden keine Dateien "gelöscht". Sie verringern nur die Anzahl der festen Links. Wenn nichts anderes darauf hindeutet, gilt der Speicherplatz als frei und kann genutzt werden ...
quelle
Backups. Sie können eine beschreibbare Datei nicht wirklich vor Beschädigung schützen, selbst wenn Sie dies vor dem Löschen tun können. Täglich sichern.
quelle
Zusätzlich zu den vorherigen Antworten würde ich einen Blick auf Selinux werfen. Dort können Sie ziemlich granulare Einschränkungen definieren.
quelle
Auf einem Kuh - Dateisystem wie btrfs können Sie dies erreichen, indem Sie Subvolumes + Snapshots oder cp mit --reflink = verwenden. Dies führt effektiv zu so vielen Dateien, wie Sie möchten, was dieselbe Menge an Speicherplatz wie eine + etwas Overhead verbrauchen würde (aber Ohne eine irrsinnige Anzahl von Kopien oder Schnappschüssen, insbesondere in Kombination mit winzigen Dateigrößen, sollte dies nicht auffallen, bis sie geändert werden. In diesem Fall werden nur die Teile, die geändert wurden, separat gespeichert und der Rest wird weiterhin geteilt. Legen Sie dann die Berechtigungen für jede Datei separat fest (um die gewünschten Ergebnisse regelmäßig zu erzielen, erstellen Sie einen Snapshot oder kopieren Sie ihn mit Leseberechtigungen) und hängen Sie ihn wahlweise mit ro oder not a all ein, wenn es sich um einen Snapshot handelt und wenn es sich um eine Datei handelt schreibe oder ändere die Datei nicht, auch nicht, wenn du Schreibrechte für eine Kopie hast, wenn du paranoid bist.
quelle
Unter "Standard" -UNIX scheint es unmöglich zu sein, eine einzelne Datei vor dem Löschen zu schützen, wenn das Verzeichnis schreibbar ist. Intuitiv könnte man erwarten, dass das Löschen des w-Schutzes von den Modusbits mit 'chmod' vor dem Löschen schützen sollte, aber DAS IST NICHT DER FALL. Ebenso können Sie in AFS einzelne Dateien nicht vor dem Löschen schützen, da ACL-Einträge (denen die entsprechende Berechtigung 'd' fehlt oder verweigert wird) nur für das gesamte Verzeichnis gelten.
quelle