Linux shred Command Tutorial für Einsteiger (5 Beispiele)
JANUAR 17, 2020
Unabhängig vom verwendeten Betriebssystem werden Sie, wenn Sie sich nicht für Computerforensik interessieren oder ein Profi/Enthusiast im Allgemeinen sind, wahrscheinlich überrascht sein zu wissen, dass beim Löschen einer Datei der Inhalt der Datei nicht sofort von der Festplatte gelöscht wird.
Es gibt jedoch Tools, die dafür sorgen, dass die Daten nicht mehr wiederhergestellt werden können. Unter Linux gibt es ein Kommandozeilenprogramm – genannt shred – das für diesen Zweck gebaut wurde.
In diesem Tutorial werden wir shreddern anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einer Ubuntu 18.04 LTS-Maschine getestet wurden.
Linux-Shred-Kommando
Der Befehl shred überschreibt eine Datei, um den ursprünglichen Inhalt unwiederbringlich zu machen. Die Syntax des Befehls lautet wie folgt:
shred [OPTION]… FILE…
Und so erklärt es die Manpage des Tools:
shred - overwrite a file to hide its contents, and optionally delete it
Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive
hardware probing to recover the data.
Nachfolgend finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon geben sollen, wie der Befehl shred funktioniert.
Q1. Wie funktioniert der Shredder-Befehl?
Wenn Sie es nur zum Überschreiben einer Datei verwenden wollen, dann müssen Sie nur ’shreddern‘ mit dem Dateinamen als Eingabe ausführen.
shred [filename]
Zum Beispiel habe ich es für file1.txt verwendet:
shred file1.txt
Und der folgende Screenshot zeigt deutlich, dass der Inhalt der Datei von diesem Tool überschrieben wurde.
Q2. Wie kann die Anzahl der Überschreibungen geändert werden?
Standardmäßig überschreibt der Shredder eine Datei 3 Mal. Wenn Sie jedoch wollen, können Sie diese Zahl mit der Kommandozeilenoption -n ändern.
Um beispielsweise sicherzustellen, dass das Tool die Datei ‚file1.txt‘ 10 Mal überschreibt, führen Sie den folgenden Befehl aus:
shred -n 10 file1.txt
Q3. Wie stellt man sicher, dass Shred die Datei auch löscht?
Wenn Sie möchten, dass shred die Datei nicht nur überschreibt, sondern auch löscht, dann verwenden Sie die Kommandozeilenoption -u.
Ich habe zum Beispiel versucht, den shred-Befehl wie folgt auszuführen:
shred -u file1.txt
Und konnte bestätigen, dass die Datei tatsächlich gelöscht wurde.
Q4. Wie kann man selektiv mit Shreddern überschreiben?
Angenommen, die Anforderung ist, nur eine bestimmte Anzahl von Bytes aus der Datei zu überschreiben. Dies kann mit der Kommandozeilenoption -s geschehen, wobei Sie die Anzahl der Bytes als Eingabe übergeben müssen.
Meine Datei enthielt zum Beispiel folgenden Text:
Howtoforge FAQForge Linux
Und ich wollte, dass der Shredder nur 10 Bytes überschreibt. Dafür habe ich shredden auf folgende Weise benutzt:
shred -s10 file1.txt
Und hier ist, wie sich die Operation auf den Inhalt der Datei auswirkte:
?uTw??? FAQForge Linux
So kann man sehen, dass nur die ersten 10 Bytes durch den Shred-Befehl mit Müll überschrieben wurden.
Q5. Wie sagt man Shreddern, wie sie löschen sollen?
Wir haben bereits die Kommandozeilenoption -u besprochen, die shred anweist, die Datei zusätzlich zum Überschreiben zu löschen. Aber es gibt noch eine andere Option – genannt ‚remove‘ – die es Ihnen erlaubt, dem Schredder mitzuteilen, wie Sie die Datei löschen möchten.
Nachfolgend wird in der Manpage die Option ‚remove‘ erklärt:
–remove[=HOW] like -u but give control on HOW to delete
Delete FILE(s) if –remove (-u) is specified. The default is not to
remove the files because it is common to operate on device files like
/dev/hda, and those files usually should not be removed. The optional
HOW parameter indicates how to remove a directory entry: ‚unlink‘ =>
use a standard unlink call. ‚wipe‘ => also first obfuscate bytes in
the name. ‚wipesync‘ => also sync each obfuscated byte to disk. The
default mode is ‚wipesync‘, but note it can be expensive.
Fazit
Wie Sie vielleicht zustimmen werden, ist der shred-Befehl ein wichtiges Werkzeug, wenn Ihre Arbeit den Umgang mit – insbesondere das Löschen – sensibler Daten beinhaltet. Hier, in diesem Tutorial, haben wir einige Kommandozeilenoptionen besprochen, die shred anbietet. Wenn Sie mit den Übungen fertig sind, besuchen Sie die Manpage des Tools, um mehr zu erfahren.
Hier noch einige, der gängigsten Optionen
-f , –force
change permissions to allow writing if necessary
-n , –iterations = N
overwrite N times instead of the default (3)
–random-source = FILE
get random bytes from FILE
-s , –size = N
shred this many bytes (suffixes like K, M, G accepted)
-u , –remove
truncate and remove file after overwriting
-v , –verbose
show progress
-x , –exact
do not round file sizes up to the next full block;
this is the default for non-regular files
-z , –zero
add a final overwrite with zeros to hide shredding
–help
display this help and exit
–version
output version information and exit
Aufruf des kompl. Manuals im lfd. Betrieb über die Shell
info coreutils aqshred invocationaq