Laut der rm-Manpage rm -P ...
werden Elemente dreimal überschrieben, um sie sicher zu löschen:
-P Normale Dateien vor dem Löschen überschreiben. Dateien werden
dreimal überschrieben, zuerst mit dem Bytemuster 0xff,
dann 0x00 und dann wieder 0xff, bevor sie gelöscht werden.
Ist es möglich, Elemente mit Single Pass Secure zu löschen rm ...
?
Anmerkungen:
Nein, das ist mit dem Standard-rm-Befehl nicht möglich.
Sie können den rm-Quellcode (rm.c) von opensource.apple.com herunterladen und die Funktion rm_overwrite() bearbeiten, um nur einen einzigen Durchgang auszuführen.
Oder Sie könnten ein alternatives Programm verwenden, das die Datei überschreibt, und sie anschließend mit rm löschen. Ein solches alternatives Programm könnte einfach cat oder dd verwenden, um Bytes aus /dev/urandom oder /dev/null über die Datei zu kopieren.
Sie können nichts rm
tun, wozu es nicht in der Lage ist. Andererseits srm
wurde ausdrücklich für diesen Zweck konzipiert. Also, wie kommt man dazu, rm
etwas zu tun, das srm
out of the box funktioniert?
rm
Wenn Sie (den Befehl; nicht das eigentliche Programm) für einen einzelnen Durchgang "verwenden" möchten , verwenden Sie einen Alias . Dazu müssen Sie srm
auf Ihrem System installiert haben (verfügbar in MacPorts ).
$ alias rm="srm -s"
Jedes Mal, wenn Sie den Befehl jetzt ausgeben, rm
wird er tatsächlich srm
mit dem -s
Flag für "Überschreiben in einem Durchgang" aufgerufen.
Anwendungsbeispiel: Angenommen, Sie haben ein Verzeichnis namens foo
mit einer Reihe von Dateien, die Sie löschen möchten. Geben Sie den Befehl aus
$ rm -rf foo
und was tatsächlich ausgeführt wird, ist:
$ srm -s -rf foo
Bearbeiten Sie Ihren ~/.bash_profile
und fügen Sie den Alias-Eintrag hinzu. Starten Sie Ihre Bash-Sitzung neu und der "One-Pass- rm
Befehl" ist jetzt verfügbar.
Wie in dieser Antwortdatei erwähnt, ist das Überschreiben von Dateien nicht mehr geeignet, um sicherzustellen, dass Dateien auf Computern mit SSD-Laufwerken sicher gelöscht werden, da die Art und Weise, wie Dateien darauf gespeichert/gelöscht werden, aufgrund der zugrunde liegenden Systeme unterschiedlich ist, die für Verschleißausgleich und Effizienz sorgen usw. Auch das Journaling von Dateisystemen kann die Dinge komplizieren.
Der beste Ansatz ist die Verwendung von Apples FileVault, damit alle gelöschten Dateien möglicherweise nur als verschlüsselte Fragmente bestehen bleiben.
Wenn Sie andere/ältere Laufwerkstypen verwenden, kann das Überschreiben helfen, sicherzustellen, dass die Dateien ordnungsgemäß gelöscht werden. In diesem Fall gibt es GNUs gshred
, die als Teil des GNU-Coreutils -Pakets installiert werden können, z. B. mit brew:
brew install coreutils
Das gshred
Tool ermöglicht die Kontrolle über die Anzahl der Überschreibungen mit -n
arg und ermöglicht auch die Kontrolle darüber, wie das Löschen mit --remove
arg erfolgt. Also nur einmal überschreiben und unlink
die Datei verwenden:
gshred -n 1 --remove=unlink file_to_overwrite_and_delete
Allan
srm
? Dafür ist es ausgelegt.