Verwenden Sie "shred" von der Kommandozeile

44

Ich muss einige Dateien sicher löschen. Ich habe mich schon einmal shredauf Linux-Systemen umgesehen und festgestellt, dass dies shredTeil des coreutilsPakets in Macports ist. Ich habe port install coreutilscoreutils installiert, kann es aber immer noch nicht shredin der Befehlszeile finden.

Wie kann ich shredmit der Befehlszeile meines Mac arbeiten? Wenn es darauf ankommt, verwende ich Mac OS X 10.7.5 (Lion)

inspectorG4dget
quelle
Beachten Sie, dass die Sicherheit von shreddem verwendeten Dateisystem abhängt. Ich weiß nicht, wie effektiv sie auf HFS ist.
Flimm,
1
shred ist auf Journaled File-Systemen nicht wirksam, weshalb es nicht verfügbar ist. Es wurde auch festgestellt, dass SRM nicht wirksam ist. Normal löschen und beten scheint die einzige Hoffnung auf hfs + journaled Dateisysteme zu sein
Kevin Johnson
Ja wirklich?! Könnten Sie bitte darüber sprechen, warum es nicht wirksam ist?
inspectorG4dget
1
Aufgezeichnete Dateisysteme zeichnen die Änderungen auf, die vor dem Schreiben auf die Festplatte vorgenommen werden. Es kann zum Wiederherstellen von beschädigten Dateien oder zum Wiederherstellen von Daten verwendet werden, die Sie zuvor gelöscht haben möchten. Siehe en.wikipedia.org/wiki/Journaling_file_system
Alex Mooney

Antworten:

27

port install coreutilsFügt den Namen der Binärdateien ein Präfix hinzu, also ist shred gleich /opt/local/bin/gshred.

Lri
quelle
9
brew install coreutilsmacht gshredfür diejenigen mit Homebrew zur Verfügung.
Davidjb
59

OSX verfügt über einen integrierten Befehl srmzum sicheren Entfernen von Dateien. Siehe https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html . Sie können rm -Pdie Dateien auch dreimal mit Bytefolgen überschreiben.

Mit sierra oder höher enthält macOS srm nicht mehr. Aber Benutzer können es mit Homebrew installieren:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
Lily Hahn
quelle
1
Klar, aber mit Shred kann ich die Anzahl der Überschreibungen festlegen. Diese Tools tun dies nicht. Irgendwelche Ideen, wie man diese Funktionalität bekommt?
InspectorG4dget
2
+1 Hervorragende Antwort. Ich wusste nicht, dass der srmBefehl existiert. Die Datei wird überschrieben, umbenannt und gekürzt, bevor sie gelöscht wird. Zusätzlich zu den 7 US DoD-konformen Durchläufen (0xF6, 0x00, 0xFF, zufällig, 0x00, 0xFF, zufällig) (Option -m) wird garantiert, dass die Datei nicht wiederherstellbar ist.
Tulains Córdova
3
Ab macOS Sierra srmnicht mehr enthalten.
y3sh
1
MacOS-Benutzer können srmmit dem Befehl brew installieren brew install homebrew/dupes/srm.
hd.deman
1
homebrew/dupesist jetzt veraltet. Scheint, dass srmentfernt und nicht migriert wurde homebrew-core.
Davidjb
18

Die Antwort von @ user495470 ist für die gestellte Frage richtig. Das Problem ist für moderne Systeme nicht srmoder nicht shredwirklich sinnvoll.

Dies liegt hauptsächlich an SSDs. Im Gegensatz zu Magnetplatten löschen moderne TRIM-fähige Festplatten gelöschte Daten automatisch im Hintergrund.

SSDs führen auch einen Verschleißausgleich durch. Dies macht Versuche, eine Datei zu "überschreiben", sowohl zwecklos (Sie schreiben an einen anderen physischen Speicherort) als auch unerwünscht (es trägt unnötigerweise zum Verschleiß der Festplatte bei).

Auf allen Macs, die mit einer SSD geliefert werden, ist TRIM aktiviert.

Das andere Problem ist das Dateisystem, insbesondere das Journal-Dateisystem, das eine Kopie der Daten an einer anderen Stelle aufbewahren kann, bevor sie ausgeschrieben werden.

Sogar auf magnetischen Medien kann dies zu Problemen für beide führen srm:

Alle Benutzer [..] sollten sich darüber im Klaren sein, dass srm nur auf Dateisystemen funktioniert, die vorhandene Blöcke überschreiben. Insbesondere wird es NICHT auf [..] der überwiegenden Mehrheit der Journaled File-Systeme funktionieren.

Und shred:

[..] shred setzt eine sehr wichtige Annahme voraus: Das Dateisystem überschreibt die vorhandenen Daten. [..] Viele moderne Dateisystemdesigns erfüllen diese Annahme nicht. Ausnahmen sind: Protokollstrukturierte oder aufgezeichnete Dateisysteme [..]

HFS Plus-Volumes werden seit Mac OS X 10.3 standardmäßig aufgezeichnet.

Heutzutage ist der beste Weg, um Dateien sicher zu "löschen", FileVault zu aktivieren (damit sie niemals unverschlüsselt auf die Festplatte schreiben). Löschen Sie sie dann einfach und lassen Sie TRIM sie sortieren.

Wenn Sie sich aufgrund eines Unglücks auf einem magnetischen Medium befinden, das Journaling deaktiviert ist und die Festplatte aus irgendeinem Grund nicht verschlüsselt werden kann, haben Sie folgende Optionen:

  • Benutze rm -Pwelche Dateien überschreibt mit 0xff, dann 0x00und dann 0xffnochmal
  • Installieren coreutilsfür gshred(d. H. brew install coreutils && gshred secrets.txt)
  • srmwird entfernt aus homebrew-dupesund homebrew-coreaber jemand einen Hahn hier veröffentlicht , das funktioniert (dh. brew install khell/homebrew-srm/srm && srm secrets.txt)
  • Physische Zerstörung des Mediums :)
Molomby
quelle
Aber ich denke, Shred ist immer noch in Ordnung, wenn Sie die gesamte Partition oder die gesamte Festplatte zerkleinern.
Konstantin
Du meinst wie shred /dev/hda? Ja, ich denke schon. Die vom Betriebssystem adressierten Blöcke sind jedoch immer noch vom physischen Speicher abstrahiert und werden möglicherweise während des Shreds neu zugeordnet . Ich frage mich, ob irgendwelche Abnutzungsnivellierungen und Platzreservierungen dazu führen könnten, dass dies nicht immer funktioniert.
Molomby
+1 für die Erklärung, warum das Shreddern auf SSDs sinnlos ist, und den Vorschlag, FileVault zu verwenden. Ist APFS aufgezeichnet oder wissen wir, wie es mit dem Löschen von Dateien umgeht? (Sollte wahrscheinlich ein separater Thread sein!)
Stuart H
1
Hier scheint die Annahme zu bestehen, dass ein sicheres Löschen nur für 'interne' Laufwerke erforderlich ist. Angeschlossene Laufwerke gibt es in allen Formen, und für einige von ihnen wäre srm geeignet.
Rondo