Benutzer-Werkzeuge

Webseiten-Werkzeuge


sicheres_loeschen

linux_helferlein_und_tips

Sicheres Löschen von einzelnen Dateien

Wenn einzelne Dateien gelöscht werden sollen, bietet sich das Konsolenprogramm „shred“ an, welches bei den Fileutils enthalten ist und den Datenbereich der angegebenen Datei standardmäßig 25 mal mit verschiedenen Zeichen überschreibt und auf wunsch löscht.
Normalerweise hat das Programm keine Ausgabe. Soll der Fortschritt angezeigt werden, so kann shred mit der Option „-v“ aufgerufen werden. Gerade bei größeren Dateien (mehrere hundert MByte) kann dieser Vorgang recht lange dauern. Soll die Zeit verkürzt werden, kann die Datei statt 25 mal z. B. nur sechs mal überschrieben werden:

shred -v -n 6 dateiname

Soll die Datei auch gleich gelöscht werden, so wird die Option „-u“ benutzt:

shred -u -v -n 6 dateiname

Sicheres Löschen von Festplatten

Im Folgenden gehe ich davon aus, dass die Festplatte als Master am primären IDE-Controller angeschlossen ist und daher über die Gerätedatei /dev/hda ansprechbar ist. Siehe auch Artikel Laufwerke und andere Geräte.

Mit dem folgenden DiskDump Kommando wird die gesamte Festplatte „/dev/hda“ ein mal mit Nullen („/dev/zero“) überschrieben.

dd if=/dev/zero of=/dev/hda bs=65535

Dieser Vorgang kann bei heutigen Festplatten durchaus einige Stunden dauern. Dafür kann man aber sicher sein, dass wirklich keine Daten mehr wiederhergestellt werden können. Ganz Paranoide geben statt „/dev/zero“ die Gerätedatei „/dev/urandom“ an. Dabei liefert der Linux-Kernel beliebige Zufallszahlen, mit denen die Festplatte überschrieben wird.
/dev/random wartet bis das System wirklich halbwegs zufällige Daten gesammelt hat und gibt diese dann aus, während /dev/urandom (u für “unlocked”) nicht wartet und dann weniger sichere Zufallszahlen liefert.

Der Vorgang dauert dann aber schon wesentlich länger.
Manchmal gibt es defekte Sektoren auf einer Platte. Hier würde das Kommando sofort abbrechen. Der Rest würde dann nicht gelöscht. Um bei defekten Sektoren trotzdem folgende Sektoren zu löschen, muss man dd mit „conv=noerror“ starten. Der Linux-Befehl dd bietet dabei keine Fortschrittsanzeige, man kann allerdings mittels buffer anzeigen lassen, wie viele Bytes durch dd schon geschrieben wurden. Beispiel:

dd if=/dev/zero | buffer -S 100k | dd of=/dev/hda bs=65535

oder

dd if=/dev/urandom| buffer -S 100k | dd of=/dev/hda bs=1M conv=noerror

Überprüfe, ob noch Daten auf de HDD sind.

Eine einfache Möglichkeit der Überprüfung ist, den Inhalt der Platte an ein Kommando weiterzuleiten, welches alle auffindbaren Strings darstellt. Ein String besteht aus mindestens 4 druckbaren Zeichen. Werden also irgendwelche Zeichenketten auf der Platte gefunden, würden die hierüber angezeigt. Will man das Kommando nicht vollständig durchlaufen lassen, beendet man es mit strg+c.

cat /dev/hda | strings
sicheres_loeschen.txt · Zuletzt geändert: von timo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki