
Ich möchte eine Datei gegen Löschen sperren, aber weiterhin beschreibbar lassen. Wie mache ich das?
Bei der betreffenden Datei handelt es sich um ein Truecrypt-Volume als Datei auf einer NAS-SMB-Netzwerkfreigabe, daher möchte ich sie nicht versehentlich löschen.
Antwort1
Für Windows:
- Verweigern Sie die Berechtigung „Löschen“ für die Datei.
- Entfernen oder verweigern Sie die Berechtigung „Untergeordnete Elemente löschen“ für das übergeordnete Verzeichnis.
Für Unix (einschließlich OS X):
- Entfernen Sie die Schreibberechtigung für das übergeordnete Verzeichnis.
Beachten Sie, dass dies nur verhindert, dass die Datei entfernt (gelöscht) wird, aber nichts gegen versehentliches Abschneiden oder Überschreiben mit Datenmüll tut. Wenn eine Datei beschreibbar ist, können Sie alles hineinschreiben, Punkt.
Außerdem ist es nahezu unmöglich, Dateiberechtigungen zwischen Betriebssystemen zu übertragen. Wenn auf dem NAS Linux läuft und Sie versuchen, Berechtigungen innerhalb von Windows festzulegen, kann das Endergebnis anders ausfallen als erwartet.
Antwort2
Unter Linux können Sie einen Hardlink darauf erstellen. Dann können Sie darauf schreiben und es „löschen“, aber Sie entfernen nur den Verweis in Ihrem Verzeichnis. Der andere Hardlink zeigt immer noch auf den Inhalt der Datei, sodass diese ohnehin nicht gelöscht wurde.
In der Unix-Welt „löschen“ Sie keine Dateien. Sie verringern lediglich die Anzahl der Hardlinks zu ihnen. Wenn nichts anderes darauf verweist, gilt der Speicherplatz als frei und kann verwendet werden …
Antwort3
Backups. Sie können eine beschreibbare Datei nicht wirklich schützen vorSchadenauch wenn Sie es vor dem Löschen schützen können. Sichern Sie es täglich.
Antwort4
Auf einem Cow-Dateisystem wie btrfs können Sie dies erreichen, indem Sie Subvolumes + Snapshots oder cp mit --reflink=always verwenden. Dadurch erhalten Sie effektiv so viele Dateien wie Sie möchten, die genauso viel Speicherplatz beanspruchen wie eine Datei + etwas Overhead (aber ohne eine wahnsinnige Anzahl von Kopien oder Snapshots, insbesondere in Kombination mit winzigen Dateigrößen sollte dies nicht auffallen), bis sie geändert werden. In diesem Fall werden nur die geänderten Teile separat gespeichert und der Rest wird weiterhin gemeinsam genutzt. Legen Sie dann die Berechtigungen für jede Datei separat fest (um das gewünschte Ergebnis zu erzielen, erstellen Sie einfach regelmäßig einen Snapshot oder eine Kopie mit schreibgeschützten Berechtigungen (und mounten Sie ihn optional ro oder gar nicht, wenn es ein Snapshot ist, und wenn es eine Datei ist, verwenden Sie chattr +i (Benutzer können die Datei nicht schreiben oder ändern, selbst wenn sie Schreibberechtigung haben) auf einer Kopie, wenn Sie paranoid sind).