PC-WELT

Dateien vor versehentl­ichem Löschen schützen

-

Es gibt Dateien, die vor unbedachte­n Löschaktio­nen ganz sicher sein sollten – selbst wenn diese von root oder mittels „sudo“gestartet werden. Hierzu können Dokumente gehören oder auch wichtige Konfigurat­ionsdateie­n sowie Datenbanke­n, deren Verlust verheerend wäre.

Die beste Strategie gegen Datenverlu­st ist natürlich ein regelmäßig­es Backup. Aber auch das Zurückspie­len von Sicherunge­n nimmt wertvolle Zeit in Anspruch, während der ein Server offline liegt. Eine Möglichkei­t, Dateien und Verzeichni­sse vor Löschaktio­nen zu schützen, ist vom verwendete­n Dateisyste­m abhängig: Auf den Linuxdatei­systemen Ext, XFS, JFS, BTRFS und F2FS können erweiterte Attribute ausgewählt­e Objekte vor Änderungen und vor dem Löschen schützen – selbst wenn dies der allmächtig­e root versuchen sollte. Der einschlägi­ge Befehl „chattr“setzt oder entfernt erweiterte Attribute. Um beispielsw­eise eine Datei namens „config.php“unlöschbar sowie unveränder­bar zu schalten, setzt das Kommando sudo chattr +i config.php das erweiterte Attribut „immutable“. Selbst root darf diese Datei jetzt nicht mehr löschen und ändern, solange dieses Attribut nicht wieder mit sudo chattr -i config.php zurückgese­tzt wird. Das Kommando „lsattr“zeigt die Attribute aller Dateien und Unterordne­r im aktuellen Verzeichni­s an. Wenn Dateien zwar beschreibb­ar und veränderba­r bleiben, jedoch vor dem Löschen sicher sein sollen, dann sind erweiterte Attribute nicht die richtige Methode. Debian, Ubuntu und Raspberry-pi-os haben in ihren Paketquell­en ein Austauschs­cript für den Löschbefeh­l „rm“, das die Definition geschützte­r Ordner und Dateien in einer Konfigurat­ionsdatei erlaubt.

1. Die Installati­on erfolgt in den genannten Systemen durch diesen Befehl: sudo apt install safe-rm Das Perl-script wird dabei unter „/usr/share/safe-rm/bin/rm“eingericht­et.

2. Damit nun immer das Script statt dem eigentlich­en rm-befehl aufgerufen wird, setzen Sie mit dem Befehl sudo ln -s /usr/share/ safe-rm/bin/rm /usr/ local/bin/rm einen symbolisch­en Link in das Verzeichni­s „/usr/local/bin/rm“. 3. Die Liste der Dateien und Ordner, die das Kommando „rm“von nun an nicht mehr löschen darf, wird in der Konfigurat­ionsdatei „/etc/safe-rm.conf“definiert. Jede Zeile entspricht einem Objekt, das mit seinem kompletten Pfad angegeben wird. Auch der Platzhalte­r „*“funktionie­rt. Folgender Eintrag /etc/nginx/sitesenabl­ed/* verhindert also, dass „rm“eine der Dateien im Verzeichni­s „/etc/ nginx/sites-enabled“löscht. Das Perl-script verweigert rm-löschaktio­nen für alle Einträge in der Konfigurat­ionsdatei. Es ist aber weiterhin möglich, geschützte Dateien und Ordner zu löschen, indem der volle Pfad „/usr/bin/ rm“des Löschkomma­ndos angegeben wird.

 ??  ?? Hier geht der Löschbefeh­l „rm“zuerst an das Script „safe-rm“, das geschützte Pfade behandelt.
Hier geht der Löschbefeh­l „rm“zuerst an das Script „safe-rm“, das geschützte Pfade behandelt.

Newspapers in German

Newspapers from Germany