Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Durch eine kleine Unachtsamkeit auf der Kommandozeile kann man ein System sehr schnell unbrauchbar machen. Etwa indem man beim Löschen mit Root-Rechten ein Leerzeichen zuviel eingibt.
safe-rm von François Marier, ist ein kleines Programm, das in einer Liste nachschaut, ob eine Datei oder Verzeichnis gelöscht werden darf. Ist dies der Fall, ruft es ganz normal rm auf. Steht die Datei oder das Verzeichnis aber in der Liste, überspringt safe-rm die Datei oder das Verzeichnis.
Konstruktionsbedingt schützt das Programm nur auf der Kommandozeile. Ein versehentliches Löschen aus einer grafischen Anwendung ist nach wie vor möglich.
safe-rm kann direkt aus den offiziellen Paketquellen installiert werden [1]:
safe-rm (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install safe-rm
sudo aptitude install safe-rm
Da safe-rm ein Wrapper ist, ersetzt es die Funktion von rm nicht, sondern ergänzt diese. Da bei Debian und Ubuntu zuerst in /usr/bin nach Programmen gesucht wird, das klassische rm sich aber in /bin befindet, muss safe-rm das klassische rm gar nicht ersetzen. safe-rm installiert sich nach /usr/bin/rm, während das klassische rm unter /bin/rm verbleibt.
Ruft man rm
im Terminal [2] auf, wird nun /usr/bin/rm ausgeführt, also safe-rm. safe-rm schaut nun in der globalen Konfigurationsdatei /etc/safe-rm.conf nach, ob das ausgewählte Verzeichnis oder die ausgewählte Datei dort verzeichnet ist.
Ist dies der Fall, wird das Verzeichnis oder die Datei nicht gelöscht. Gibt es in der Datei keine Entsprechung, schaut safe-rm in der Konfigurationsdatei des ausführenden Benutzers (~/.safe-rm), ob das ausgewählte Verzeichnis/Datei dort zu finden ist und überspringt dieses/diese gegebenenfalls.
Steht die Datei oder das Verzeichnis auf keiner der beiden schwarzen Listen, dann ruft safe-rm das ganz normale rm also /bin/rm auf.
Es besteht die Gefahr einer Gewöhnung, d. h. zunehmender Unachtsamkeit beim Aufruf von rm
. Wenn man dann an einem Rechner arbeitet, auf dem safe-rm nicht installiert ist, kann es schnell passieren, dass man einen wichtigen Ordner löscht. Es empfiehlt sich, die Installation von safe-rm unter anderem Namen (z.B. rms
, dann natürlich auch immer diesen Befehl benutzen!) oder die Benutzung von trash-cli!
Möchte man weitere Verzeichnisse oder Dateien mit safe-rm schützen, kann man dies tun, indem man die Datei oder das Verzeichnis in die globale Konfigurationsdatei für alle Nutzer oder in die persönliche Konfigurationsdatei einträgt.
globalen Konfigurationsdatei: /etc/safe-rm.conf (Root-Rechte erforderlich)
persönliche Konfigurationsdatei: ~/.safe-rm
Möchte man ein Verzeichnis schützen, trägt man einfach den Pfad in eine der Konfigurationsdateien ein:
1 | /backups |
Möchte man alle Dateien und Unterverzeichnisse in einem Verzeichnis schützen, dann nutzt man dazu Wildcards:
1 | /srv/nfs/* |
safe-rm kann man einfach umgehen, indem man rm
mit /bin/rm direkt aufruft.
rm - der remove-Befehl
trash-cli - den Mülleimer per Kommandozeile nutzen
safe-rm – oder wie man Daten vor sich selbst schützt - Blogbeitrag, 07/2013
Diese Revision wurde am 29. Januar 2017 14:53 von aasche erstellt.