[z]-Blog

Über Open Source im Alltag

safe-rm – oder wie man Daten vor sich selbst schützt

In einem Moment der Unachtsamkeit kann es dazu kommen, dass man aus Versehen ein Verzeichnis mit wichtigen Daten löscht.

So kann ein kleiner Fehler große Auswirkungen haben:

rm -rf /usr/bin/ doofes_programm

Denn hier wird nicht der Ordner /usr/bin/doofes_programm gelöscht sondern /usr/bin und das Verzeichnis doofes_programm.

Wer seine Daten vor der eigenen Unachtsamkeit schützen will der kann safe-rm benutzen.

Das Programm installiert seine Binary nach /usr/bin/rm, das normale rm in /bin/ bleibt also unberührt. Da bei Debian jedoch zunächst in /usr/bin geschaut wird, wird bei dem Aufruf von rm von nun an safe-rm ausgeführt. Möchte man jedoch das normale rm nutzen kann man die einfach über den vollständigen Pfad ausführen.

In den Konfigurationsdateien für safe-rm kann man festlegen welche Verzeichnisse oder Dateien von safe-rm geschützt werden sollen.

  • /etc/safe-rm.conf – globale Konfigurationsdatei
  • ~/.safe-rm – Konfigurationsdatei des Benutzers Das Programm ist in Debains Repositories zu finden oder bei manch anderer Distribution. Das Programm kann auch von der Projektseite heruntergeladen werden. Die Lizenz ist die GPLv3.

3 Kommentare

  1. Oder man gewöhnt sich einfach an, sämtliche Dateipfade immer mit der Tab-Taste automatisch vervollständigen zu lassen, anstatt diese einzutippen. Dann passieren solche Tippfehler nämlich nicht und man ist auch auf fremden Systemen ohne dieses Paket auf der sicheren Seite.

    ~jug

    • Schreiberling

      26. Juli 2013 at 20:11

      Gewöhnlich passieren die Fehler erst dadurch dass die Tab-Vervollständigung das falsche Ziel vervollständigt oder eben keins.

  2. Das Programm befindet sich noch in einem frühen Entwicklungsstadium. Es wird nicht umsonst vor den Gefahren rekursiven Löschens immer und immerwieder gewarnt.

    Wovor es nicht schützen: unkonzentriertes Arbeiten auf der Kommandozeile. Es kann auch keine fehlende Datensicherung ersetzen!

    Exakt das gewählte Beispiel funktioniert so wohl nicht. Es wird beim rekursiven Löschen nur das direkt untergeordnete Verzeichnis der 1.Ebene geschützt. Die 2. Ebene wird nur geschützt, wenn dies in der Konfigurationiontdatei vermerkt ist:
    usr/bin//
    Will man auch die dritte Ebene schützen: usr/bin///*

    Siehe auch Launchpad.bugs:
    https://bugs.launchpad.net/safe-rm/+bug/901916

    Vielleicht genügt ja auch einfach die option -i zum Befehl hinzuzufügen?

    rm -i -rf /usr/bin/ doofes_programm

    Das Problem wird ja nur verlagert -> /bin/rm 😉

    Denn auch dort sollte man wissen, was man tut.

    my 5¢

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

© 2019 [z]-Blog

Theme von Anders NorénHoch ↑