staging.inyokaproject.org

wipe

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Wipe 🇬🇧 ist ein Kommandozeilenprogramm zum sicheren Löschen und Überschreiben von Dateien, Ordnern und Device-Files (wie zum Beispiel Partitionen). Dateien, die auf diese Weise entfernt werden, können selbst mit forensischen Methoden nicht mehr wiederhergestellt werden und sind unwiderruflich zerstört. Im Unterschied zu shred kann wipe auch Ordner löschen und bietet ein paar mehr Einstellungsmöglichkeiten.

Achtung!

Um zu erfahren, welche Einschränkungen vorhanden sind, sollte man unbedingt die Hinweisbox im Artikel Daten sicher löschen lesen! Dies gilt insbesondere beim Einsatz von SSDs.

Neben dem hier beschriebenen Programm gibt es noch ein gleichnamiges Programm (siehe Links) mit ähnlicher Zielsetzung, welches unter anderem in Distributionen wie SystemRescueCd enthalten ist. Da die Kommandozeilen-Parameter der beiden Programme völlig unterschiedliche Bedeutung haben, sollte man sich im Zweifelsfall vorher mit einem Blick in die Manpage vergewissern, ob man die richtige Optionen verwendet.

Installation

Wipe kann durch das folgende Paket installiert [1] werden:

  • wipe (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install wipe 

Oder mit apturl installieren, Link: apt://wipe

Benutzung

Wipe wird im Terminal [2] aufgerufen. Mit Hilfe optionaler Parameter und der Datei, dem Ordner oder dem Device, das man löschen möchte, kann man das Verhalten des Programms steuern. Manche Optionen lassen sich auch miteinander kombinieren, Beispiele findet man weiter unten. Hier eine Tabelle aller möglichen Parameter:

ParameterBedeutung
-f Wipe wird nicht mehr nachfragen, ob eine Datei/Ordner wirklich gelöscht werden soll
-r Alle Dateien in einem Ordner und dessen Unterordnern und die Dateien, die sich darin befinden, werden rekursiv gelöscht
-c Wenn der Benutzer, der Wipe ausführt, keine Schreibrechte für eine Datei besitzt, wird automatisch versucht, dieses mit chmod selbst zu setzen.
-i Zeigt Fortschrittsinformationen auf dem Screen
-s Alle Meldungen, außer Fehler und Fragen werden unterdrückt
-q Schnelles Löschen. Alle Dateien werden nur viermal mit zufälligen Daten überschrieben.
-Q N Verändert die Anzahl der Überschreibungen auf N-mal, beim schnellen Löschen mittels -q. Standard ist viermal.
-a Bricht sofort ab, sobald ein Fehler oder ein Problem auftritt, auch wenn der Fehler oder das Problem dies nicht erfordert
-R Erwartet einen Parameter, der eine alternative Quelle (Seed) zum Erstellen von zufälligen Zahlen angibt. Standard ist /dev/random. -R benötigt auch den -S switch, siehe unten.
-S Erwartet einen Parameter, der spezifiziert, von was für einer Art die mit -R angegebene Quelle ist. Mögliche Werte sind: -S r, was eine normale Datei oder Charakter-Device bei -R annimmt;-S c, was den bei -R angegebenen Parameter als Kommando ausführt und die Ausgabe des Kommandos mit MD5-Hashed und dies als Seed für zufällige Zahlen nimmt;-S p erzeugt zufällige Zahlen aus dem Hashen von Umweltvariablen. -R wird dabei nicht benötigt. Dies stellt die schwächste Methode dar.
-M Erwartet einen Parameter, welcher angibt, mit welchem Algorithmus der Seed zu einer größeren Zufallszahl umgerechnet werden soll. -M l benutzt die Standard -Random-Funktion der libc rand(). -M a benutzt RC4 und -M r benutzt RC6. Für RC6 muss Wipe selbst von Hand kompiliert werden und dabei mit der Option ENABLE_RC6 konfiguriert werden.
-l Erwartet als Parameter die Größe des Devices oder der Datei in Bytes. Dabei können die Angaben mit K, M, G und b versehen werden, um die Angabe in Kilobyte, Megabyte, Gigabyte oder Blocks zu machen.
-o Damit kann eine Datei oder ein Device erst ab einer bestimmten Stelle "gewiped" werden. Die Angabe erfolgt genauso wie bei -l.
-e Benutze die genaue Größe und runde nicht auf, um eventuellen Müll im letzten Block zu löschen
-Z Versuche nicht, Dateien zu löschen, indem rekursiv die Datei immer wieder halbiert wird. Hat nur Auswirkungen auf Dateien und Ordner, nicht auf Device-Files.
-F Versuche, nicht die Dateinamen zu verbergen, indem die Datei vor dem Überschreiben und Löschen umbenannt wird. Das Umbenennen gibt grundsätzlich keine Garantie, dass die Existenz der Datei wirklich verschleiert wird. Jedoch macht es das Überschreiben von vielen Dateien auf einmal deutlich langsamer.
-k Behalte die Dateinamen. Verhindert das unlinken einer Datei nach dem Überschreiben. Hilfreich vor allem bei Device-Files, die man zwar überschreiben, aber danach wieder benutzen will. Dieser Paramter impliziert -F.
-D Folge symbolischen Links. Standardmäßig werden über symbolische Links referenzierte Dateien nicht gelöscht, durch diese Option jedoch werden sie es. Kann nicht zusammen mit -r benutzt werden.
-v Zeigt die Version von Wipe an
-h Zeigt eine kurze Hilfe

Beispiele

  • Löscht und überschreibt eine Datei:

    wipe datei.jpg 
  • Löscht und überschreibt eine Datei, ohne nochmals nach zu fragen:

    wipe -f datei.jpg 
  • Löscht und überschreibt rekursiv einen Ordner und alle Unterordner und die Dateien darin:

    wipe -r Ordner/ 
  • Löscht die Datei bzw. das Verzeichnis unter $PFAD und überschreibt den freigegebenen Speicher genau einmal mit Nullen (-Q 1). Dies ist bedeutend schneller als die Voreinstellung und laut neuerer Forschungen ausreichend (siehe Heise-Artikel "Sicheres Löschen"):

    wipe -q -Q 1 -R /dev/zero -S r -r $PFAD 
  • Löscht und überschreibt den Inhalt der Partition /dev/sda6, ohne die Partition danach zu entfernen (nur mit Root-Rechten!):

    sudo wipe -k /dev/sda6 
  • Löscht die Partition /dev/sda7 mit Root-Rechten und überschreibt den freigegebenen Speicher genau einmal mit Nullen, ohne die Partition danach zu entfernen:

    sudo wipe -q -Q 1 -R /dev/zero -S r -k /dev/sda7 

Problembehebung

Geschwindigkeit bei unterschiedlichen Dateisystemen

Es wurde mehrfach beobachtet, dass wipe in Kombination mit den Dateisystemen ext4 und btrfs deutlich langsamer als mit ext3 arbeitet. Eine Erklärung wären erweiterte Cache-Mechanismen neuerer Dateisysteme, die einen erhöhten organisatorischen Aufwand beim Zugriff auf Dateien zur Folge haben.

Alternativ kann man bei diesem Problem auch shred nutzen, das in Kombination mit find ebenfalls rekursiv arbeitet.

Vorschaubilder

Wenn man Bilder mit wipe gelöscht hat, sind deren Vorschaubilder immer noch in ~/.cache/thumbnails/ und dessen Unterordnern vorhanden und dort gut einsehbar, z.B. in ~/cache/thumbnails/large/. Dort also auch wipe einsetzen.

Diese Revision wurde am 2. Mai 2021 18:19 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Shell, Server, ungetestet