Mit zu den ersten Kommandos die man lernt wenn man im Terminal arbeitet, heißt rm (remove) zum Löschen von Dateien. rm arbeitet sehr schnell und man kann in weniger als einer Sekunde das gesamte System ruinieren. Jedoch hat rm den Nachteil, nicht die Datei selbst zu löschen, sondern nur den Eintrag der Datei aus dem Index, mit der Folge, daß sich Daten im Zweifelsfall rekonstruieren lassen. Für das sichere Löschen der Datei gibt es srm (secure remove), welches vor dem Löschen des Indexeintrages die Datei überschreibt, umbenennt und abschneidet. Ein einmaliges Überschreiben der Datei ist hierbei vollkommen ausreichend.[1, 2] (Löschorgien wie die Empfehlung 35mal (!) zu überschreiben sind sowieso Unfug [3]). Damit man immer auf der sicheren Seite ist, sollte man rm grundsätzlich auf das sichere srm umleiten. Mit einem kurzen Alias-Eintrag in der .bashrc läßt sich dies leicht bewerkstelligen.
Mit einem beliebigen Texteditor die Datei .bashrc öffnen und folgende Aliase einfügen:
alias rm='echo "srm -srf"; srm -srf' alias srm='srm -srf'
Eingentlich würde ein Eintrag alias rm='srm' vollkommen ausreichen, aber ich bevorzuge eine kurze Rückmeldung was umgeleitet worden ist. Daher füge ich immer ein echo Kommando dazwischen, welches kurz wiedergibt welcher Befehl ausgeführt wurde. Das zweite Alias dient nur dazu, gleich noch die Standardoptionen von srm festzulegen (-s simple, einmal überschreiben; -r rekursiv, Verzeichnisse löschen; -f force, nicht existente Dateien ignorieren, keine Rückfragen).
Die Datei sichern und auf der Kommanodzeile neu einlesen („sourcen“):
#:~>. .bashrc
Das Ergebnis sieht dann etwas so aus:
#:~>rm Regierung srm -srf #:~>
Soll jetzt wirklich mal das originale rm verwendet werden, bspw. weil eine große Datei schnell gelöscht werden muß, kennt die Bash den vorgesetzten \ als Umgehung definierter Aliase:
#:~>\rm Regierung
Hinweis: Wer sicherheitsbewußt ist und an fremden Rechnern arbeitet sollte kontrollieren, ob der Befehl srm auch tatsächlich das tut, von dem man annimmt das er es tun sollte: sicher löschen. Die beschriebene Methode mit dem Alias funktioniert nämlich auch andersherum, die Umleitung vom sicheren srm auf das einfache rm:
alias srm='rm'
Labels: .bashrc, Alias, Bash, IT, rm, Skripttipp, srm, Terminal
Kommentare: