staging.inyokaproject.org

safe-rm

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

safe-rm_logo_64.png 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.

Installation

safe-rm kann direkt aus den offiziellen Paketquellen installiert werden [1]:

  • safe-rm (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install safe-rm 

Oder mit apturl installieren, Link: apt://safe-rm

Verwendung

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.

Hinweis:

Seit durch Usrmerge, also ab Ubuntu 19.04 /bin und /usr/bin ein und dasselbe Verzeichnis sind, kann safe-rm nicht mehr als rm nach /usr/bin kopiert werden.

Als Workaround sorgt das Programm mittels der Umgebungsvariable PATH dafür, das vor den genannten Verzeichnissen das Verzeichnis /usr/share/safe-rm/bin durchsucht wird. Der herkömmliche Befehl rm kann weiterhin durch Angabe des vollen Pfades aufgerufen werden.

Achtung!

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!

Konfiguration

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/*

Diese Revision wurde am 3. Januar 2023 10:39 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Shell, System