Linux Festplatten löschen – Aber sicher
Warnung!
Probiere die hier aufgeführten Beispiele auf keinem Fall auf deiner produktiven Computer aus! Mit diesen Befehlen löscht du deine Festplatten unwiderruflich! Verwende dazu eine Testinstallation von Linux in einer Virtuellen Umgebung.
Bevor mensch eine Festplatten aus seinem Rechner ausbaut, sollte mensch sie Bereinigen um allfällige persönliche so wie heikle Daten nicht unfreiwillig weiter zu geben. Da reicht leider ein einfaches löschen nicht.
Einfaches löschen
Üblicherweise nutzt mensch dazu den Befehl rm
und die Optionen -rf
heisst das es erzwungen wird und dies auch noch rekursiv.
# Einfaches löschen aller Dateien auf der System-Festplatte
sudo rm -rf /
Anstatt
sudo
kann auf deinem System auchdoas
installiert sein oder evtl. nutzt du auchsu root
um die Befehle alsroot
auszuführen. Als normaler User kann mensch die Systemdateien nicht löschen oder überschreiben.
Damit wird nur dem System bekannt gegeben, dass der Platz auf dem die Datei(en) bis jetzt waren nun überschrieben werden können. Das heisst die Informationen von der Datei sind noch auf der Festplatte vorhanden aber nicht mehr sichtbar. Mit forensischen Mitteln um die Dateien wieder herzustellen. Je nach Dateisystem ist das Lesen und Wiederherstellen der gelöschten Datei eine nicht all zu grosse Sache.
Eleganter geht dies über den mv
Befehl aber auch da werden die Daten nicht wirklich gelöscht und ist mit Vorsicht zu geniessen.
# Alle Dateien erzwingen nach dem "Nichts" vom System zu verschieben
sudo mv -f / /dev/null
Wenn da die gelöschte, eigentlich eine ins Nichts verschobene, Datei zugreifen möchte, zeigt es auf eben diesem Nichts. Die Daten sind auf der Festplatte immer noch vorhanden bis diese vom System überschrieben werden.
Festplatte finden
Bevor wir eine Festplatte komplett löschen oder besser gesagt bereinigen, ist es ratsam die Richtige zu finden und auszuwählen. Verschaffen wir uns erst mal eine Übersicht was wir an gemountete Laufwerke auf unserem System haben.
Bis jetzt haben wir es nur von der Dateihierarchie angegangen und nicht anhand der physischen Datenträgern. Die physischen Einhängepunkte vom Dateisystem zu finden, geht gut mit dem Befehl df
und mit der Option -h
lassen wir es uns auch noch Menschen lesbar anzeigen.
# Listet menschlich lesbar das Filesytem und deren Belegung auf
$ df -h
sr0 11:0 1 1024M 0 rom
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
dev 3.9G 0 3.9G 0% /dev
run 3.9G 1.6M 3.9G 1% /run
/dev/sda2 225G 156G 58G 74% /
tmpfs 3.9G 5.5M 3.9G 1% /dev/shm
tmpfs 3.9G 58M 3.8G 2% /tmp
/dev/sda1 300M 312K 300M 1% /boot/efi
tmpfs 785M 132K 785M 1% /run/user/1000
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
Wir sehen nun was wo gemountet und wie viel belegt ist. Gut soweit einen Überblick haben wir mal. Doch die physischen Datenträger hätten wir gerne auch noch klarer gesehen, dazu nutzen wir lsblk -a
um alle aufzulisten.
# Listet alle Blöcke der Laufwerke auf
$ lsblk -a
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 300M 0 part /boot/efi
├─sda2 8:2 0 229.4G 0 part /
└─sda3 8:3 0 8.8G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
In dieser weiteren Auflistung sehen wir welche physischen Festplatte mit welchen Mountpoint übereinstimmt wenn wir die vorhergehenden auch noch dazu ziehen. So können wir sicher sein, dass wir nicht was unwiderruflich löschen und überschreiben was wir noch benötigen. Gerade bei solchen heiklen Aktionen ist ein mehrfaches überprüfen wichtig.
Überschreiben
Mit Nichts überschreiben und mit zufälligen Bits nochmals überschreiben anstatt einfach die Dateien zum überschreiben freigeben, das ist der Weg wie Festplatten sauber gemacht werden.
Da wir vorhin nachgesehen haben welche Festplatte wir gerne löschen würden, sehen wir, dass die Disk sda
wir auswählen müssen. Da in einem Linux System alles eine Datei ist finden wir die unter Devices und der vollständigen Pfad lautet /dev/sda
. Diese wollen wir nun mit Nullen und dann zufällig überschreiben mittels dd
.
# Nicht einfach löschen sondern die ganze Festplatte überschreiben
sudo dd if=/dev/null on=/dev/sda
sudo dd if=/dev/urandom on=/dev/sda
Wenn du SSD oder USB-Sticks so bereinigen möchtest, dann ist die letzte Zeile nicht nötig und eher schädlich für den Datenträger, nutze den ersten Befehl einfach zwei mal.
Das könne wir nun mehrfach wiederholen um sicher zu gehen das evtl. forensische Mittel da nicht noch was zurückführen können. Anschliessend ist eine neue Formation auf das gewünschte Dateisystem mittels mkfs
noch nötig um die Festplatte wieder einsatzbereit zu haben.
# z.B. die Festplatte mittels FAT32 formatieren, damit diese von allen gelesen werden kann
sudo mkfs -t vfat /dev/sda
Alternativen
Es gibt noch folgende Alternativen aber diese müssten unter Umständen noch nachträglich auf dein Linux System installiert werden. Meines Wissens sind diese selten bei Distributionen üblicherweise vorinstalliert.
Der Befehl wipe
macht genau das was wir vorhin mittels dd
taten aber nicht zwingend über die Ganze Festplatte, es ist auch möglich einzelne Dateien damit sicher zu löschen.
sudo wipe -rfQ 5 /
Wir forcieren -f
das reine wischen, so zu sagen vom Wurzelverzeichnis /
, rekursiv -r
auf und überschreiben anstelle der Datei mit Nullen (0) fünf mal -Q 5
.
Eine weiter Möglichkeit bietet shred
doch diese bietet von sich aus keine Möglichkeit Ordner rekursiv zu löschen, dazu muss mensch es mittels find
kombinieren. Ganz Laufwerke gehen hingegen wieder relativ leicht.
sudo shred -z /dev/sda
Update: Das selbe hier aber das ganze Laufwerk wird fünf mal mit Nullen (0) überschreiben -n 5
.shred
schreibt ohne weiteren Angaben drei mal Zufallswerte über das Ziel und die Option -z
bewirkt, dass am Schluss alles nochmals mit Nullen (0) überschrieben wird.
– Danke @[email protected] für deinen Hinweis.
Fazit
Beachte bitte das das mehrfache überschreiben von SSD so wie USB-Sticks Datenträgern deren Lebenszeit verringern kann, deswegen rate ich da eher zu zweimaligem überschreiben mit Nullen / Nichts mittels dd
. Dies zwei mal, damit die Blöcke im Hintergrund zur Fehlerkorrektur ebenfalls mit Nullen gefüllt werden. Anderseits besteht die Gefahr, dass durch deren Optimierung die Nullen nicht wirklich geschrieben werden, da ist wohl eher hdparm
nützlich aber das ist für einen weiteren Artikel bestimmt.
Eine andere Möglichkeit dies alles zu umgehen wäre eine zeitgemässe Verschlüsselung der Datenträger anzuwenden. Diese aufzusetzen ist einen weiteren Artikel für sich aber so kann mensch sehr wohl diese relative aufwendige Löschung von Dateien sparen.
Wie immer lohnt es sich einen Blick auf de Man-Pages mittels man <BEFEHL>
zu werfen um die einzelne Befehle genauer kennen zu lernen. Für Kommentare so wie evtl. Ergänzungen und Korrekturen gerne über Mastodon an mich wenden unter @[email protected].