SRM in macOS Sierra weg (10.12)

33

Ich habe gerade auf macOS 10.12 aktualisiert und wenn ich versuche, es srmim Terminal auszuführen , heißt es -bash: srm: command not found.

Wird srmentfernt Wie kann man das beheben?

Niktin Roman
quelle
Als Randnotiz: srmWar ein sterbendes Projekt in den frühen 2000er Jahren. Apple hat einige Ressourcen in das Projekt gesteckt und es wird zuerst in 10.3 angezeigt. Sie sollten sich bewusst sein, dass die Verwendung srmnicht garantiert, dass die Daten nicht wiederhergestellt werden können.
fd0
@ fd0, kannst du dir eine bessere Idee einfallen lassen oder Dateien auf neueren Macs sicher von der SSD entfernen?
Niktin Roman
1
Volle Festplattenverschlüsselung, obwohl ich sie nicht benutze, und rmoder leerer Papierkorb in der GUI.
fd0
4
@NiktinRoman für SSDs srm ist nicht sicherer als rm - srm ist nur für Festplatten sinnvoll. Ich vermute, dies ist der Grund, warum es entfernt wurde
user151019

Antworten:

3

Noch nicht läuft macOS 10.12 jedoch unter OS X 10.8.5 die Manpage srmin den NOTESAbschnitt heißt es :

Die Entwicklung und Diskussion von SRM erfolgt unter < http://sourceforge.net/project/?group_id=3297 >, auf das auch über < http://srm.sourceforge.net > zugegriffen werden kann .

Jetzt müssen Sie den Quellcode herunterladen und selbst kompilieren. Hierfür müssen die Befehlszeilentools für Xcode installiert sein. Nicht sicher, ob dies unter macOS 10.12 noch möglich ist. Weitere Informationen finden Sie unter Installieren von Befehlszeilentools unter OS X Mavericks & Yosemite (ohne Xcode) . Oder verwenden Sie im Terminal den folgenden Befehl:xcode-select --install

Ich habe den neuesten Quellcode heruntergeladen und er wurde unter OS X 10.8.5 fehlerfrei kompiliert. Das bedeutet zwar nicht, dass er unter MacOS 10.12 funktioniert, aber es ist wahrscheinlich die einzige Wahl, die Sie haben, wenn srmer entfernt wurde.

Das heißt, ich würde wohl nur srmauf Rotations-HDDs nicht auf SSDs.

user3439894
quelle
3
NB srm ist in Homebrew / Dupes verfügbar, wenn Sie Homebrew verwenden. Es wird sich beschweren, dass MacOS diese Software bereits zur Verfügung stellt. Das ist nicht wahr in Sierra, aber auf jeden Fall, um Homebrew zu verwenden, um es zu installieren, müssen Siebrew install srm && brew link --force srm
Kojiro
1
@kojiro funktioniert nicht. "Srm wurde aus Homebrew / Core in Commit 7957c4b98 gelöscht"
AfterWorkGuinness
@AfterWorkGuinness Richtig, Apple hat srm angeblich entfernt, weil sie dachten, es würde die ssds der Leute zerstören. github.com/Homebrew/homebrew-dupes/issues/725 . Ich bin etwas skeptisch, dass sie genau diesen Grund im Sinn hatten, aber der Punkt bleibt, dass Secure-Delete-Befehle auf SSD weniger nützlich sind als das Drehen von Rost. (Wahrscheinlich fällt Apple nie ein, dass jemand eine sich drehende
Rostdistanz anschließen
27

Aus diesem Kommentar:

Können Sie sich eine bessere Idee einfallen lassen oder Dateien auf neueren Macs sicher von der SSD entfernen? - Niktin Roman

Es gibt keine Notwendigkeit dafür srm; vorausgesetzt, TRIM ist auf Ihrem Computer aktiviert 1

Der TRIM-Support erledigt dies für Sie. Wenn Sie eine Datei von Ihrem Laufwerk löschen, markiert das Betriebssystem den Dateibereich als "nicht verwendet" - dies gilt für jedes Laufwerk. Bei einer SSD wird im Gegensatz zu einer HDD ein TRIM-Befehl gesendet, um alle Daten in diesem markierten Bereich zu löschen. Auf diese Weise kann Ihre SSD Daten in diesen markierten Bereich schreiben, als ob sie brandneu und nie verwendet worden wären, und den herkömmlichen Löschvorgang überspringen.

Wenn Sie nach mehr Sicherheit suchen, aktivieren Sie FileVault .

Pro Apple-Support :

Hinweis: Bei einem SSD-Laufwerk sind Secure Erase und Erasing Free Space im Festplatten-Dienstprogramm nicht verfügbar. Diese Optionen werden für ein SSD-Laufwerk nicht benötigt, da ein Standardlöschvorgang die Wiederherstellung von Daten von einer SSD erschwert. Um mehr Sicherheit zu gewährleisten, sollten Sie die FileVault-Verschlüsselung aktivieren, wenn Sie Ihr SSD-Laufwerk verwenden.

Ich rate auch von der Verwendung ab, srmda dadurch mehr und unnötige Schreibvorgänge auf die SSD durchgeführt werden, wodurch deren Lebensdauer verkürzt wird. Von der Manpage :

srm entfernt jede angegebene Datei durch Überschreiben, Umbenennen und
Abschneiden vor dem Aufheben der Verknüpfung


1 TRIM ist standardmäßig aktiviert, wenn auf Ihrem Mac eine SSD vorinstalliert ist. Wenn Sie eine SSD nachträglich hinzugefügt haben, müssen Sie TRIM aktivieren, indem Sie den Befehl sudo trimforce enablein Terminal absetzen.

Allan
quelle
3
Dies sollte die akzeptierte Antwort sein.
LS
Markiert TRIM den Bereich auf diese Weise, wenn Sie die Datei im Terminal speichern (die gelöschten Dateien werden nicht im Papierkorb angezeigt) oder nur, wenn Sie "regelmäßig" löschen (in den Papierkorb verschieben)? Vielen Dank!
ScienceFriction
1
"Papierkorb" ist nur ein versteckter Ordner in Ihrem Home-Verzeichnis - ~/.Trash. "Verschieben einer Datei in den Papierkorb" ist also genau das - Verschieben einer Datei. Wenn Sie den Papierkorb leeren, wird die Datei tatsächlich gelöscht. Wenn die Datei tatsächlich über diese Methode oder über gelöscht rmwird, wird TRIM wirksam.
Allan
2
Dem Befehl TRIM sollte nicht vertraut werden, um Daten auf einer SSD zuverlässig zu löschen. Das Betriebssystem teilt der SSD lediglich mit, dass bestimmte Blöcke nicht mehr verwendet werden. Es ist Sache des SSD-Firmware-Controllers, TRIM korrekt zu implementieren. Die Hersteller von Laufwerken haben hier keine gute Erfolgsbilanz. Sogar der stärkere ATA-Befehl "Sicheres Löschen" wird inkonsistent implementiert, und manchmal wird sogar ein Erfolg gemeldet, wenn alle Daten auf dem Laufwerk verblieben sind. Weitere Informationen finden Sie unter cseweb.ucsd.edu/~swanson/papers/Fast2011SecErase.pdf .
William Budington
1
@WilliamBudington - Ihre Informationen sind absolut veraltet. Siehe diesen Beitrag: apple.stackexchange.com/questions/269863/…
Allan
25

rm hat einen -P-Schalter, der die Datei vor dem Löschen dreimal überschreibt. Besser als nichts, nehme ich an.

Tom
quelle
In diesem Anwendungsfall ist dies technisch korrekt. Dreimal ist nichts besser als nichts.
Rimian,
9

Um eine Datei / einen Ordner unter MacOS Sierra ohne externe Dienstprogramme sicher zu löschen, verwenden Sie rmmit dem -PSchalter:

## delete a single file
rm -Pv wikileak1.txt

## delete a folder recursively
rm -Pvrf ~/.wikileaks

Von der Manpage :

 -P          Overwrite regular files before deleting them.  Files are
             overwritten three times, first with the byte pattern 0xff,
             then 0x00, and then 0xff again, before they are deleted.

 -v          increase verbosity

ANMERKUNG : Falls Sie GNU coreutils von Homebrew mit den Standardnamen installiert haben brew install coreutils --default-names, kann die GNU-Version von, abhängig davon, wie Sie PATH konfiguriert haben, rmdie Mac-Version in den Schatten stellen /bin/rmund diese -POption wird nicht akzeptiert . Verwenden Sie nochmals which -a rmzu überprüfen.

ccpizza
quelle
7

Seit diese Frage ursprünglich beantwortet wurde, sind zwei Dinge passiert:

  • homebrew-dupes wurde in zusammengeführt homebrew-core
  • srm wurde von gelöscht homebrew-core

Wenn Sie versuchen, es jetzt zu installieren, erhalten Sie Details zum Lösch-Commit und einen Vorschlag, Ihren eigenen Tap zu erstellen, falls Sie ihn noch benötigen. Ich habe so getan hier .

Sie können es mit Homebrew installieren :brew install khell/homebrew-srm/srm

Cameron Yan
quelle
2

Verwenden Sie Homebrew , wie hier vorgeschlagen :

brew install homebrew/dupes/srm
brew link --force srm
n1000
quelle
0

Es gibt viele gute Gründe , nicht sichere Löschen - Tools zu verwenden ( srm, shred, rm -P, usw.) auf modernen Systemen (mit TRIM-fähigen SSDs und / oder Journaling - Dateisysteme). @ Allans Antwort ist genau richtig.

Wenn Sie jedoch wirklich , wirklich wiederherstellen möchten, srmhat jemand hier einen Homebrew-Tipp veröffentlicht , der funktioniert. Dh:

brew install khell/homebrew-srm/srm
srm secrets.txt

(Nach der Installation von Homebrew natürlich.)

Molomby
quelle
-2

sudo port install srm das reicht

Roberto Domingos
quelle
3
Es wird wahrscheinlich zu einem -bash: port: command not foundFehler führen, weshalb hier möglicherweise weitere Details erforderlich sind.
Nohillside
1
Installieren Sie macports: macports.org/install.php
eggonlegs
Das habe ich gemacht, als Macports während eines Betriebssystem-Upgrades deinstalliert wurde. Dies ist die bevorzugte Methode in meinem Buch, aber keine vollständige Antwort, daher kann ich nicht abstimmen ... na ja. Den Befehl habe ich dann sudo srm -RfvD TargetDirectoryToWipe verwendet . Nicht auf einer SSD ...
NOTjust - user4304