Unabhängig davon, welches Betriebssystem Sie verwenden, wenn Sie sich nicht mit Computerforensik beschäftigen oder ein Profi/Enthusiast im Allgemeinen sind, werden Sie wahrscheinlich überrascht sein zu erfahren, dass beim Löschen einer Datei der Dateiinhalt nicht wirklich von der Festplatte gelöscht wird Festplatte sofort.
Es gibt jedoch Tools, die sicherstellen, dass die Daten nicht mehr wiederherstellbar sind. Unter Linux gibt es ein Befehlszeilenprogramm namens shred - das für diesen Zweck gebaut wurde.
In diesem Tutorial werden wir Shred anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner und auf Debian 10 getestet wurden, aber sie sollten auch auf anderen Linux-Distributionen wie CentOS, Open SuSE, Fedora und Gentoo funktionieren.
Linux-Shred-Befehl
Der Befehl shred überschreibt eine Datei, um den ursprünglichen Inhalt unwiederbringlich zu machen. Es folgt die Syntax des Befehls:
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.
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl shred funktioniert.
Q1. Wie funktioniert der Shred-Befehl?
Wenn Sie es nur zum Überschreiben einer Datei verwenden möchten, müssen Sie lediglich 'shred' mit einem Dateinamen als Eingabe ausführen.
shred [filename]
Zum Beispiel habe ich es auf file1.txt:
verwendetshred file1.txt
Und der folgende Screenshot zeigt deutlich, dass der Inhalt der Datei von diesem Tool überschrieben wurde.
Q2. Wie ändere ich die Häufigkeit, mit der die Datei überschrieben wird?
Standardmäßig überschreibt shred eine Datei dreimal. Wenn Sie möchten, können Sie diese Nummer jedoch mit der Befehlszeilenoption -n ändern.
Um beispielsweise sicherzustellen, dass das Tool die Datei „file1.txt“ zehnmal überschreibt, führen Sie den folgenden Befehl aus:
shred -n 10 file1.txt
Q3. Wie kann ich sicherstellen, dass Shred die Datei auch löscht?
Wenn Sie möchten, dass shred die Datei nicht nur überschreibt, sondern auch löscht, verwenden Sie die Befehlszeilenoption -u.
Zum Beispiel habe ich versucht, den Befehl shred auf folgende Weise auszuführen:
shred -u file1.txt
Und konnte bestätigen, dass die Datei tatsächlich gelöscht wurde.
Q4. Wie überschreibe ich selektiv mit shred?
Angenommen, die Anforderung besteht darin, nur eine festgelegte Anzahl von Bytes aus der Datei zu überschreiben. Dies kann mit der Befehlszeilenoption -s erfolgen, bei der Sie die Anzahl der Bytes als Eingabe übergeben müssen.
Meine Datei enthielt beispielsweise den folgenden Text:
Howtoforge
FAQForge
Linux
Und ich wollte, dass shred nur 10 Bytes überschreibt. Dafür habe ich shred folgendermaßen verwendet:
shred -s10 file1.txt
Und so wirkte sich die Operation auf den Dateiinhalt aus:
?uTw?????
FAQForge
Linux
Sie können also sehen, dass nur die ersten 10 Bytes durch den shred-Befehl mit Müll überschrieben wurden.
F5. Wie kann man shred mitteilen, wie gelöscht werden soll?
Wir haben bereits die Befehlszeilenoption -u besprochen, die shred anweist, die Datei zusätzlich zum Überschreiben zu löschen. Aber es gibt noch eine andere Option – genannt „remove“ – mit der Sie shred mitteilen können, wie es die Datei löschen soll.
Im Folgenden erklärt die Manpage die Option „Entfernen“:
--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.
Schlussfolgerung
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 Befehlszeilenoptionen besprochen, die Shred anbietet. Sobald Sie diese geübt haben, besuchen Sie die Manpage des Tools, um mehr zu erfahren.