Wie lösche ich freien Speicherplatz unter Linux?


145

Wenn eine Datei gelöscht wird, verbleibt ihr Inhalt möglicherweise im Dateisystem, es sei denn, sie wird ausdrücklich mit etwas anderem überschrieben. Mit dem wipeBefehl können Dateien sicher gelöscht werden, es scheint jedoch nicht möglich zu sein, freien Speicherplatz zu löschen, der nicht von Dateien verwendet wird.

Was soll ich verwenden, um dies zu erreichen?


Die einzig sichere Lösung könnte darin bestehen, Ihre Dateien an einem anderen Ort zu speichern, die gesamte Partition zu löschen, das Dateisystem neu zu erstellen und dann Ihre Dateien wiederherzustellen. Ich habe photorec ausgeführt und war schockiert darüber, wie viel Material abgerufen werden konnte, selbst nachdem der freie Speicherplatz "weggewischt" wurde. Eine Kompromisslösung besteht darin, die linke Begrenzung Ihrer Partition um 6% ihrer Größe zu verschieben, nachdem der anscheinend freie Speicherplatz gelöscht wurde.
user39559

Antworten:


107

Warnung: Moderne Festplatten- / SSD-Hardware und moderne Dateisysteme können Daten an Stellen entfernen, an denen Sie sie nicht löschen können. Daher verbleiben bei diesem Vorgang möglicherweise immer noch Daten auf der Festplatte. Die einzig sichere Art, Daten zu löschen, ist der Befehl ATA Secure Erase (falls korrekt implementiert) oder physische Zerstörung. Siehe auch Wie kann ich alle Informationen auf einer Festplatte zuverlässig löschen?

Sie können eine Reihe von Tools verwenden, die als sicheres Löschen bezeichnet werden.

sudo apt-get install secure-delete

Dies hat vier Werkzeuge:

srm- Löschen Sie eine vorhandene Datei
smemsicher. - Löschen Sie Spuren einer Datei sicher vom RAM.
sfill- Löschen Sie den gesamten als leer markierten Speicherplatz auf Ihrer Festplatte.
sswap- Löschen Sie alle Daten von Ihrem Swap-Speicherplatz.

Aus der Manpage von srm

srm wurde entwickelt, um Daten auf Datenträgern auf sichere Weise zu löschen, die von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen nicht wiederhergestellt werden können. Der Löschalgorithmus basiert auf dem Artikel "Sicheres Löschen von Daten aus Magnet- und Festkörperspeichern", der auf dem 6. Usenix-Sicherheitssymposium von Peter Gutmann, einem der führenden zivilen Kryptographen, vorgestellt wurde.

Der sichere Datenlöschprozess von srm sieht folgendermaßen aus:

  • 1 Durchgang mit 0xff
  • 5 zufällige Pässe. /dev/urandomwird für ein sicheres RNG verwendet, falls verfügbar.
  • 27 Pässe mit von Peter Gutmann definierten Sonderwerten.
  • 5 zufällige Pässe. /dev/urandomwird für ein sicheres RNG verwendet, falls verfügbar.
  • Benennen Sie die Datei in einen zufälligen Wert um
  • Kürzen Sie die Datei

Als zusätzliche Sicherheitsmaßnahme wird die Datei im O_SYNC-Modus geöffnet und nach jedem Durchlauf ein fsync()Anruf getätigt. srmSchreibt 32.000 Blöcke, um die Geschwindigkeit zu erhöhen, und füllt die Puffer der Festplatten-Caches, um sie zum Leeren und Überschreiben alter Daten zu zwingen, die zur Datei gehörten.


5
Es ist schwer, die aktuelle "offizielle" Homepage von Secure-Delete zu finden. Eine möglicherweise ältere Version behauptet, dass es keine Fehlerberichte gibt, aber gleichzeitig gibt es kein offenes Bugtracking-System, in dem ich einen Fehler melden könnte, den ich gefunden habe. Auf der sicheren Lösch-Startseite wird außerdem darauf hingewiesen, dass je nach verwendetem Dateisystem möglicherweise nicht alle nicht verwendeten Datenblöcke gelöscht werden. Dies ist der Fall.
user39559

11
Bei modernen Festplatten (größer als 20 GB) ist es völlig nutzlos, mehrere Durchgänge zu machen und ewig zu warten. Die Installation spezialisierter Tools ist daher ebenfalls nutzlos geworden (was möglicherweise erklärt, warum Secure-Delete keine Homepage mehr hat). Genau das tut dies aus der entsprechenden Partition: cat /dev/zero >nosuchfile; rm nosuchfile.
Mivk

1
@mivk: Warum ist es sinnlos, mehr als einen Durchgang zu machen? Und warum / dev / zero anstelle von / dev / random verwenden? Liegt das an Geschwindigkeitsbedenken?
Naught101

5
Die Verwendung von / dev / zero ist viel schneller. Wenn Sie freien Speicherplatz aus / dev / random schreiben, muss der Kernel all diese zufälligen Daten im laufenden Betrieb generieren. Auf diese unterhaltsame Weise können Sie beobachten, wie Ihr durchschnittlicher
Ladezustand


71

Der schnellste Weg, wenn Sie nur einen einzigen Durchgang benötigen und einfach alles durch Nullen ersetzen möchten, ist:

cat /dev/zero > zero.file
sync
rm zero.file

(Führen Sie den Befehl aus einem Verzeichnis des Dateisystems aus, das Sie löschen möchten.)
(Der syncBefehl ist eine Paranoia-Maßnahme, die sicherstellt, dass alle Daten auf die Festplatte geschrieben werden. Ein intelligenter Cache-Manager kann möglicherweise das Schreiben für ausstehende Blöcke abbrechen, wenn die Verknüpfung der Datei aufgehoben wird )

Während dieses Vorgangs gibt es eine Zeit, in der überhaupt kein freier Speicherplatz auf dem Dateisystem verfügbar ist. Dies kann mehrere zehn Sekunden dauern, wenn die resultierende Datei groß und fragmentiert ist. Das Löschen dauert daher eine Weile. So reduzieren Sie die Zeit, in der der freie Speicherplatz vollständig Null ist:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm zero.small.file
rm zero.file

Dies sollte ausreichen, um jemanden daran zu hindern, die alten Dateiinhalte ohne eine teure forensische Operation zu lesen. Für eine etwas sicherer, aber langsamer, Variante ersetzen /dev/zeromit /dev/urandom. Für mehr Paranoia führen Sie mehrere Schritte mit aus /dev/urandom. Wenn Sie jedoch so viel Aufwand benötigen, ist das shredDienstprogramm aus dem coreutils-Paket der richtige Weg:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
shred -z zero.small.file
cat /dev/zero > zero.file
sync
rm zero.small.file
shred -z zero.file
sync
rm zero.file

Beachten Sie, dass die kleine Datei oben vor dem Erstellen der größeren Datei geschreddert wird. Sie kann also entfernt werden, sobald die größere Datei vollständig ist, anstatt darauf warten zu müssen, dass sie geschreddert wird, und das Dateisystem für die benötigte Zeit keinen freien Speicherplatz mehr hat. Der Shred - Prozess mit nimmt eine lange Zeit über eine große Datei und es sei denn , Sie versuchen , etwas von der NSA zu verbergen nicht wirklich IMO erforderlich.

Alle oben genannten Funktionen sollten auf jedem Dateisystem funktionieren.

Dateigrößenbeschränkungen:

Wie DanMoulding in einem Kommentar unten ausführt, kann dies bei einigen Dateisystemen zu Problemen mit der Dateigrößenbeschränkung führen.

Für FAT32 wäre es auf jeden Fall ein Problem aufgrund der Dateibegrenzung 2GiB: Die meisten Bände sind größer als dies in diesen Tagen (8TiB ist die Volume - Größe Limit IIRC). Sie können dies umgehen, indem Sie die große cat /dev/zeroAusgabe weiterleiten split, um mehrere kleinere Dateien zu generieren und die Shred- und Löschstufen entsprechend anzupassen.

Mit ext2 / 3/4 ist dies weniger problematisch: Mit dem Standard- / Standard-4K-Block beträgt die Dateigrößenbeschränkung 2 TB, sodass Sie ein großes Volumen haben müssen , damit dies ein Problem darstellt (die maximale Volumengröße unter diesen Bedingungen) ist 16TiB).

Mit dem (noch experimentellen) BTRFS sind sowohl die maximale Datei- als auch die Volume-Größe massive 16EiB.

Unter NTFS ist die maximale Dateilänge in einigen Fällen sogar größer als die maximale Datenträgerlänge.

Ausgangspunkte für weitere Informationen:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability

Virtuelle Geräte

Wie in den Kommentaren kürzlich erwähnt, gibt es zusätzliche Überlegungen für virtuelle Geräte:

  • Für dünn zugewiesen virtuellen Laufwerke andere Methoden wie diejenigen , die von zerofreeschneller sein wird (obwohl im Gegensatz zu catund dddies ist kein Standard - Tool , das Sie in so ziemlich jedem Unix-a-like OS auf sein verlassen können).

  • Beachten Sie, dass durch das Nullsetzen eines Blocks auf einem virtuellen Gerät mit geringer Dichte der Block auf dem zugrunde liegenden physischen Gerät möglicherweise nicht gelöscht wird. Ich würde sogar sagen, dass dies unwahrscheinlich ist - der Manager für virtuelle Datenträger macht den Block einfach als nicht mehr verwendet so kann es später etwas anderes zugeordnet werden.

  • Selbst bei virtuellen Geräten mit fester Größe haben Sie möglicherweise keine Kontrolle darüber, wo sich das Gerät physisch befindet, sodass es jederzeit um seinen aktuellen Speicherort oder auf einen neuen Satz physischer Datenträger verschoben werden kann. Sie können höchstens den aktuellen Speicherort löschen Alle vorherigen Orte, an denen sich der Block möglicherweise in der Vergangenheit befunden hat.

  • Bei den oben genannten Problemen auf virtuellen Geräten: Wenn Sie die Hosts nicht kontrollieren und anschließend den nicht zugewiesenen Speicherplatz der Festplatten in der VM sicher löschen oder das virtuelle Gerät verschieben können, haben Sie nach dem keine Möglichkeit, dies zu ändern Tatsache. Die einzige Möglichkeit besteht darin, von Anfang an die vollständige Festplattenverschlüsselung zu verwendenes wird also überhaupt nichts unverschlüsselt auf das physische Medium geschrieben. Natürlich kann es weiterhin erforderlich sein, den freien Speicherplatz in der VM zu löschen. Beachten Sie auch, dass FDE spärliche virtuelle Geräte weniger nützlich machen kann, da die Virtualisierungsebene nicht wirklich erkennen kann, welche Blöcke nicht verwendet werden. Wenn die Dateisystemebene des Betriebssystems Trim-Befehle an das virtuelle Gerät sendet (als wäre es eine SSD) und der virtuelle Controller diese interpretiert, kann dies möglicherweise behoben werden, aber ich kenne keine Umstände, unter denen dies tatsächlich geschieht, und keine umfassenderen Die Diskussion darüber ist an anderer Stelle angesagt (wir sind bereits kurz davor, uns mit der ursprünglichen Frage zu befassen. Wenn dies Ihr Interesse geweckt hat, sind möglicherweise einige Experimentier- und / oder Folgefragen angebracht).


4
Das einfache Nullsetzen kann anscheinend auch mit den secure-deleteWerkzeugen durchgeführt werden: Bei Verwendung von sfill -llzwird der gesamte Vorgang auf einen Durchgang reduziert, in dem nur Nullen geschrieben werden.
Foraidt

Das dauert eine Weile. Ist es wirklich der schnellste Weg? Ich denke, das Schreiben von GB Daten wird immer eine Weile dauern ...
Endolith

2
@endolith: Wenn Sie den freien Speicherplatz auf einem aktiven Dateisystem löschen möchten, müssen Sie nicht so viele Daten über den Overhead des Dateisystems schreiben. Die von fnord_ix vorgeschlagenen Tools zum sicheren Löschen sind möglicherweise schneller, da sie für diesen Aufgabentyp optimiert sind.
David Spillett

2
@endolith: Aus der Beschreibung in der Manpage würde ich erwarten, dass die Variante von zerofree nur für spärlich zugewiesene virtuelle Festplatten schneller ist. Tatsächlich kann sie bei realen oder virtuellen Festplatten mit fester Größe langsamer sein, wenn sie vor dem Schreiben gelesen werden um zu bestätigen, dass der Block keinen Inhalt hat. Die Ballonbildung für ein virtuelles Laufwerk sollte auch nicht auftreten, da die meisten Treiber für spärliche Laufwerke nur Nullen enthalten, da "Diesen Block nicht zuweisen". Auch catund ddsind auf so ziemlich jedem Unix-a-like OS verfügbar , da sie Standard - Tools in Betracht gezogen werden , wo zerofreewahrscheinlich nicht , wenn es ausdrücklich hinzugefügt wurde.
David Spillett

1
@endolith: gesagt hat , die oben, zerofreewürde sicherlich natürlich arbeiten, das „gesamtes Dateisystem vorübergehend voll“ , was in der man - Seite erwähnt in (fast , aber nicht ganz von dem small.file jiggery pokery in meinen Beispielen gemildert) ist ein echtes Anliegen Wenn Sie dies auf einem derzeit aktiven System tun und zerofreein der Tat schneller wären, ist es optimiert für: sparsam zugewiesene virtuelle Blockgeräte. Aus Sicherheitsgründen können Sie sich jedoch nicht darauf verlassen, dass ein virtuelles Gerät gelöscht wird. In diesem Fall ist die einzig wahre Antwort die vollständige Geräteverschlüsselung von Anfang an.
David Spillett

45

WARNUNG

Ich war schockiert, wie viele Dateien photorec von meiner Festplatte abrufen konnte, selbst nach dem Löschen.

Ob es sicherer ist, den "freien Raum" nur einmal mit 0x00 oder 38-mal mit unterschiedlichen kabbalistischen Standards zu füllen, ist eher eine akademische Diskussion. Der Autor des wegweisenden Schredderpapiers von 1996 schrieb sich einen Epilog, in dem er sagte, dies sei veraltet und für moderne Hardware nicht mehr erforderlich. Es gibt keinen dokumentierten Fall, in dem Daten physisch durch Nullen ersetzt und anschließend wiederhergestellt werden.

Die wahre fragile Verbindung in dieser Prozedur ist das Dateisystem . Einige Dateisysteme reservieren Speicherplatz für spezielle Zwecke, und er wird nicht als "freier Speicherplatz" zur Verfügung gestellt. Aber Ihre Daten können dort sein . Dazu gehören Fotos, persönliche Klartext-E-Mails usw. Ich habe gerade reservierten + Speicherplatz + ext4 gegoogelt und festgestellt, dass 5% meiner homePartition reserviert waren. Ich denke, das ist der Ort, an dem ich photorecso viel von meinen Sachen gefunden habe. Fazit: Die Zerkleinerungsmethode ist nicht die wichtigste, auch bei der Mehrfachdurchlaufmethode bleiben die Daten erhalten .

Sie können es versuchen, # tune2fs -m 0 /dev/sdn0bevor Sie es montieren. (Wenn dies nach dem Neustart die Root-Partition ist, stellen Sie sicher, dass sie ausgeführt wird -m 5oder -m 1nachdem Sie die Bereitstellung aufgehoben haben.)

Trotzdem bleibt auf die eine oder andere Weise möglicherweise noch etwas Platz übrig.

Die einzig wirklich sichere Möglichkeit besteht darin, die gesamte Partition zu löschen, ein Dateisystem erneut zu erstellen und Ihre Dateien dann aus einer Sicherungskopie wiederherzustellen.


Schneller Weg (empfohlen)

Führen Sie aus einem Verzeichnis auf dem Dateisystem, das Sie löschen möchten:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

Hinweise: Der Zweck der kleinen Datei besteht darin, die Zeit zu verkürzen, in der der freie Speicherplatz vollständig Null ist. Mit der Synchronisierung soll sichergestellt werden, dass die Daten tatsächlich geschrieben werden.

Dies sollte für die meisten Menschen gut genug sein.

Langsamer Weg (paranoid)

Es gibt keinen dokumentierten Fall, in dem Daten nach der obigen Bereinigung wiederhergestellt wurden. Es wäre teuer und ressourcenschonend, wenn es überhaupt möglich wäre.

Wenn Sie jedoch Grund zur Annahme haben, dass Geheimagenturen eine Menge Ressourcen für die Wiederherstellung Ihrer Dateien aufwenden würden, sollte dies ausreichen:

dd if=/dev/urandom of=random.small.file bs=1024 count=102400
dd if=/dev/urandom of=random.file bs=1024
sync ; sleep 60 ; sync
rm random.small.file
rm random.file

Es dauert viel länger.

Warnung. Wenn Sie den paranoiden Weg gewählt haben, möchten Sie danach immer noch das schnelle Löschen durchführen, und das ist keine Paranoia. Das Vorhandensein rein zufälliger Daten ist einfach und kostengünstig zu erkennen und lässt den Verdacht aufkommen, dass es sich tatsächlich um verschlüsselte Daten handelt. Sie können unter Folter sterben, wenn Sie den Entschlüsselungsschlüssel nicht preisgeben.

Sehr langsamer Weg (verrückt paranoid)

Sogar der Autor des wegweisenden Schredderpapiers von 1996 schrieb in einem Epilog, dass dies für moderne Hardware überholt und unnötig sei.

Aber wenn Sie noch viel Freizeit haben und es Ihnen nichts ausmacht, Ihre Festplatte mit viel Überschreiben zu verschwenden, geht es los:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
sync ; sleep 60 ; sync
shred -z zero.small.file
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
shred -z zero.file
sync ; sleep 60 ; sync
rm zero.file

Hinweis: Dies entspricht im Wesentlichen der Verwendung des Tools zum sicheren Löschen.


Vor der Bearbeitung war dieser Beitrag eine Neufassung von David Spilletts. Der Befehl "cat" gibt eine Fehlermeldung aus, aber ich kann keine Kommentare zu den Posts anderer Leute schreiben.


Sie können unter anderen Personen Beiträge mit 50 Ruf kommentieren .
Gnoupi

1
Es catwird erwartet, dass der Befehl am Ende seiner Ausführung in meinen Beispielen den Fehler "Kein Leerzeichen übrig" ausgibt. Sie können dies verbergen, indem Sie stderr an umleiten, /dev/nullwenn es ein Problem ist. Ich benutze normalerweise pveher als catoder ddfür solche Dinge, um die nützliche Fortschrittsanzeige zu erhalten.
David Spillett

4
...raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.Genau das habe ich mir gedacht. Ich denke, das heißt, ich bin paranoid ...
Navin

2
Root ist immer in der Lage, den reservierten Platz zu nutzen. Wenn Sie also als Root eine Nullfüllung durchführen, können Sie auch den reservierten Platz von 5% ausfüllen. die tunefs sind unnötig. Es ist immer noch vorstellbar, dass sich Daten in anderen Teilen des Dateisystems befinden.
Nate Eldredge

1
@NateEldredge Gibt es eine Quelle, die angibt, dass die ddAusführung als Root mehr Zugriff auf das Dateisystem gewährt als ddohne Root? Ich möchte glauben, dass dies wahr ist, kann aber im Moment keinen Grund dafür sehen.
Hashim

27

Zumindest in Ubuntu gibt es kein kostenloses Dienstprogramm:

http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html

   zerofree — zero free blocks from ext2/3 file-systems

   zerofree  finds  the  unallocated, non-zeroed blocks in an ext2 or ext3
   filesystem (e.g. /dev/hda1) and fills them with zeroes. This is  useful
   if  the  device  on  which this file-system resides is a disk image. In
   this case, depending on the type of disk image, a secondary utility may
   be  able  to  reduce the size of the disk image after zerofree has been
   run.

   The usual way to achieve  the  same  result  (zeroing  the  unallocated
   blocks)  is to run dd (1) to create a file full of zeroes that takes up
   the entire free space on the drive, and then delete this file. This has
   many disadvantages, which zerofree alleviates:

      ·  it is slow;

      ·  it makes the disk image (temporarily) grow to its maximal extent;

      ·  it  (temporarily)  uses  all  free  space  on  the disk, so other
         concurrent write actions may fail.

   filesystem has to be unmounted or mounted  read-only  for  zerofree  to
   work.  It  will exit with an error message if the filesystem is mounted
   writable. To remount the  root  file-system  readonly,  you  can  first
   switch to single user runlevel (telinit 1) then use mount -o remount,ro
   filesystem.

Überprüfen Sie auch diesen Link zu null: Halten Sie die Bilder des Dateisystems sparsam - er stammt von seinem Autor - Ron Yorston (9. August 2012)


3
Es ist wichtig, dass das Dateisystem nicht gemountet oder schreibgeschützt gemountet ist, damit null funktioniert.
AntonioK

1
Es wäre schön, Informationen darüber im Root-Dateisystem zu hinterlegen. Ich habe das Gefühl, dass dies nicht funktioniert, da Sie das Dateisystem aushängen müssen, während Sie das Tool gleichzeitig über dieses Dateisystem ausführen.
16.

Dies kommt auch mit CentOS
Davidgo

3

So geht's mit einer GUI.

  1. Installieren Sie BleachBit
  2. Führen Sie als root aus, indem Sie auf Anwendungen - Systemprogramme - BleachBit als Administrator klicken.
  3. Geben Sie in den Einstellungen an, welche Pfade Sie verwenden möchten. Im Allgemeinen schätzt es sie gut. Sie möchten einen beschreibbaren Pfad für jede Partition angeben. Im Allgemeinen sind dies / home / username und / tmp, es sei denn, es handelt sich um dieselbe Partition. Wählen Sie in diesem Fall einfach eine aus.
  4. Aktivieren Sie das Kontrollkästchen System - Freien Speicherplatz löschen.
  5. Klicken Sie auf Löschen.

Der Fortschritt von BleachBit über dd (was sonst sehr schön ist) ist, wenn die Festplatte voll ist, BleachBit kleine Dateien erstellt, um die Inodes (die Metadaten wie Dateinamen usw. enthalten) zu löschen.


Untersuchen Sie den OpenSource-Python-Code von Bleachbit, um den freien Speicherplatz von einem Laufwerk für sich selbst zu löschen.
shadowbq

2

Ich ddreserviere eine oder mehrere große Dateien, um den freien Speicherplatz zu füllen, und verwende dann ein Dienstprogramm zum sicheren Löschen.

So ordnen Sie Dateien mit dd zu:

dd if=/dev/zero of=delete_me bs=1024 count=102400

Dadurch wird eine Datei mit dem Namen delete_me100 MB erstellt. (Hier bsist die "Blockgröße" auf 1 KB festgelegt und countdie Anzahl der zuzuweisenden Blöcke.)

Verwenden Sie dann Ihr bevorzugtes Dienstprogramm zum sicheren Löschen (das ich bereits verwendet habe shred) für die so erstellten Dateien.

Beachten Sie jedoch Folgendes: Zwischenspeichern bedeutet , dass Sie möglicherweise nicht alles erhalten , auch wenn Sie die gesamte Festplatte sichern!


Dieser Link empfiehlt das scrubLöschen von freiem Speicherplatz. Habe es nicht ausprobiert.


Oh, wenn der Speicher mir dient, habe ich es scrubeinmal versucht und es hat das gesamte Dateisystem beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen realen Daten.
Landroni

2

Wischen Sie ein Laufwerk mit Höchstgeschwindigkeit ab.

Heutzutage werden Sie bei typischen Anweisungen zum Verschlüsseln eines Laufwerks aufgefordert, zuerst das Laufwerk zu wischen.

Der folgende Befehl füllt Ihr Laufwerk mit AES-Chiffretext.

Verwenden Sie eine Live-CD, wenn Sie Ihr Hauptstartlaufwerk löschen müssen.

Öffnen Sie ein Terminal und erhöhen Sie Ihre Berechtigungen:

sudo bash

Lassen Sie uns alle Laufwerke im System auflisten, um die Sicherheit zu gewährleisten:

cat /proc/partitions

HINWEIS: Ersetzen Sie /dev/sd{x}das Gerät durch das Gerät, das Sie löschen möchten.

ACHTUNG: Dies ist nichts für Amateure! Sie könnten Ihr System unbootbar machen !!!

sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sd{x}

Ich bin fassungslos, wie schnell das ist.



2

Sie können Ihren freien Speicherplatz mithilfe eines sicheren Löschpakets löschen.

In diesem Paket finden Sie ein sfillTool, mit dem Daten, die sich auf verfügbarem Speicherplatz auf Datenträgern befinden, auf sichere Weise gelöscht werden können und das von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen nicht wiederhergestellt werden kann.

Um das Paket zum sicheren Löschen unter Linux (Ubuntu) zu installieren, installieren Sie es mit dem folgenden Befehl:

$ sudo apt-get install secure-delete

Führen Sie dann den folgenden Befehl aus , um Ihre Daten ohne freien Speicherplatz zu löschen :

sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY

Wobei / YOUR_MOUNTPOINT / OR_DIRECTORY Ihr Mountpunkt ( df -h, mount) oder Verzeichnis ist, um den freien Speicherplatz zu löschen .

Lesen Sie das Handbuch unter http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html


1

benutze dd und setze den freien Speicherplatz auf Null. es ist ein mythos, dass daten mehrmals überschrieben werden müssen (fragen sie einfach peter guntmann) und zufällige daten, im gegensatz zu 1 und 0 implizieren unnatürliche aktivitäten. Das Endergebnis ist ein sauberes Laufwerk, das deutlich weniger Zeit zum Schreiben benötigt. Außerdem können sichere Löschprogramme nicht garantieren, dass sie sogar die reale Datei auf modernen Dateisystemen (Journaled) überschreiben. Tun Sie sich selbst einen Gefallen und holen Sie sich Fotorec, scannen Sie Ihr Laufwerk, um das Durcheinander zu sehen, wischen Sie es mit Einsen und optional mit Nullen ab, damit es unberührt aussieht. Wenn Photorec immer noch etwas findet, denken Sie daran, dass es alles scannt, was verfügbar ist. Führen Sie dies erneut sorgfältig mit dem Root-Benutzer durch.

Denken Sie daran, dass cia / fbi / nsa keine ausgefallene Maschine hat, die den aktuellen Status Ihrer Magnetmedien-Bits lesen kann. Das war alles nur eine Zeitung, die vor langer Zeit geschrieben wurde. ein "Was-wäre-wenn". Sie müssen nur 1 Mal wischen.


1
Sie haben einige interessante Dinge gesagt, aber haben Sie tatsächlich Quellen für diese Informationen? Es ist kaum zu glauben, dass all das Überschreiben nutzlos ist. Bitte verbessern Sie auch Ihren Beitrag, es ist schwierig, mit solchen Satzzeichen zu lesen.
Gronostaj

@gronostaj: Die Behauptung "Es ist ein Mythos, dass Daten mehrfach überschrieben werden müssen" für moderne Laufwerke wurde zumindest durch mehrere Studien bewiesen. Alle von Gutmann empfohlenen 30+ Pässe werden nicht mehr benötigt, wie der Autor selbst bestätigt.
Karan

1

Einfacher ist es, Peeling zu verwenden :

scrub -X dump

Dadurch wird ein dumpOrdner am aktuellen Speicherort erstellt und eine Datei erstellt, bis der Datenträger voll ist. Mit der -pOption ( nnsa|dod|bsi|old|fastold|gutmann) können Sie ein Muster auswählen .

Es ist nicht einfach, Scrub zu installieren ( siehe dazu die Ubuntu-Foren ), aber sobald die Installation abgeschlossen ist, haben Sie ein wirklich EINFACHES und effizientes Tool in der Hand.


Wenn der Speicher mir dient, habe ich es scrubeinmal versucht und es hat das gesamte Dateisystem beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen realen Daten.
Landroni

Sie wissen nicht, was Sie getan haben oder was passiert ist, aber scrubben Sie im Grunde genommen eine neue Datei, bis sie das Dateisystem füllt. Es spielt nicht mit vorhandenen Dateien und löscht auch keine von ihnen (zumindest nicht den Befehl, den ich gegeben habe) ...
FMaz008

1
Tatsächlich. Versucht scrub -X dump_dirund es scheint gut funktioniert zu haben. BTW, 14.04 Installation auf Ubuntu ist sehr einfach: apt-get install scrub.
Landroni

1

Hier ist das Skript "sdelete.sh", das ich verwende. Siehe Kommentare für Details.

# Install the secure-delete package (sfill command).

# To see progress type in new terminal:
# watch -n 1 df -hm

# Assuming that there is one partition (/dev/sda1). sfill writes to /.
# The second pass writes in current directory and synchronizes data.
# If you have a swap partition then disable it by editing /etc/fstab
# and use "sswap" or similar to wipe it out.

# Some filesystems such as ext4 reserve 5% of disk space
# for special use, for example for the /home directory.
# In such case sfill won't wipe out that free space. You
# can remove that reserved space with the tune2fs command.
# See http://superuser.com/a/150757
# and https://www.google.com/search?q=reserved+space+ext4+sfill

sudo tune2fs -m 0 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'

sudo sfill -vfllz /

# sfill with the -f (fast) option won't synchronize the data to
# make sure that all was actually written. Without the fast option
# it is way too slow, so doing another pass in some other way with
# synchronization. Unfortunately this does not seem to be perfect,
# as I've watched free space by running the "watch -n 1 df -hm"
# command and I could see that there was still some available space
# left (tested on a SSD drive).

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

sudo tune2fs -m 5 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'

1

Ich habe eine einfache Lösung gefunden, die unter Linux und MacOS funktioniert. Bewegen Sie sich in den Stammordner Ihrer Festplatte und starten Sie diesen Befehl:

for i in $(seq 1 //DISKSPACE//); do dd if=/dev/zero of=emptyfile${i} bs=1024 count=1048576; done; rm emptyfile*;

Dabei ist // DISKSPACE // die Größe Ihrer Festplatte in GB.


0

Ich benutze manchmal diesen bash Einzeiler:

while :; do cat /dev/zero > zero.$RANDOM; done

Wenn angezeigt wird, dass die Festplatte voll ist, drücken Sie einfach Ctrl+ Cund entfernen Sie die erstellten zero.*Dateien.

Es funktioniert auf jedem System, unabhängig von der Dateigrößenbeschränkung.
Ignorieren Sie alle cat: write error: File too largeFehler.


0

Dies ist keine Antwort! Nur ein Kommentar für diejenigen, die es benutzen wollen pv... also stört euch nicht an der Abstimmung.

Unter Linux Mint 17.3 können Sie pv( Pipe-Ansicht ) verwenden, um den Fortschritt des Schreibens abzurufen. Zum Beispiel:

# Install pv (pipe view)
sudo apt-get install pv

# Write huge file of approximate size of /dev/sdb, using urandom data:
pv --timer --average-rate --progress --numeric --eta --interval 5 --size "$(blockdev --getsize64 /dev/sda )" /dev/urandom >rand.file

Der Vorteil hierbei ist, dass Sie einen Fortschrittsbalken, eine ETA und eine kontinuierlich aktualisierte Datenrate erhalten. Der Nachteil ist, dass dies in einer Zeile geschrieben wird und wenn der Datenträger voll ist (und einen Fehler zurückgibt), er verschwindet. Dies ist darauf zurückzuführen, dass die vollständige Größe nur annähernd der Größe entspricht, da das Betriebssystem wahrscheinlich die Festplatte verwendet, während dieser sehr lange Vorgang ausgeführt wird, insbesondere auf dem Betriebssystem-Volume.

Auf einem sehr alten HD, erhalte ich eine Datenrate über 13 MB / s mit /dev/urandomund etwa 70 MB / s bei Verwendung /dev/zero. Dies würde sich wahrscheinlich weiter verbessern, wenn Sie ein rohes ddoder verwenden catund nicht pv.


-13

Sobald die Datei aus dem Datensatz des Dateisystems entfernt wurde, sind die auf der Festplatte verbleibenden Daten eine sinnlose Folge von Einsen und Nullen. Wenn Sie diese sinnlose Sequenz durch eine andere sinnlose Sequenz ersetzen möchten, kann ich einige kommerzielle Produkte zum sicheren Löschen von Laufwerken empfehlen, wie z. B. arconis.


22
Aneinandergrenzende Teile früherer Dateiinhalte verbleiben immer noch auf der Festplatte und sind alles andere als bedeutungslos, wenn Rohdaten der Festplatte direkt untersucht werden.
Alex B
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.