ubuntuusers.de

safe-rm

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels safe-rm.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7744

karzer schrieb:

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.

Das stimmt nicht. Mit per safe-rm geschütztem Ordner test-ordner:

Bei bionic war es noch so: https://packages.ubuntu.com/bionic/amd64/safe-rm/filelist enthält /usr/bin/rm

In focal dann nicht mehr: https://packages.ubuntu.com/focal/amd64/safe-rm/filelist hat kein /usr/bin/rm mehr

Seit usrmerge ist /bin und /usr/bin ja auch ein- und dasselbe Verzeichnis, somit funktionieren solche Tricksereien nicht mehr.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9383

Wohnort: Münster

frostschutz schrieb:

[…] Seit usrmerge ist /bin und /usr/bin ja auch ein- und dasselbe Verzeichnis, somit funktionieren solche Tricksereien nicht mehr.

Doch. aber Dank usrmerge nicht mehr so wie früher:

$ which rm
/usr/bin/rm

D.h. zur Maskierung von rm durch einen Wrapper muss der Wrapper also in einem Ordner liegen, der vor dem Ordner /usr/bin/ (jetzt identisch mit /bin/) durchsucht wird:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Das ist der richtige Ort für den Wrapper. Alternativ benutzerspezifisch nach ~/.local/bin/, wenn man dafür sorgt, dass dieser Ordner als erstes in PATH steht, was nach Neustart des Rechners automatisch der Fall sein sollten.

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1479

Wohnort: Bad Oeynhausen

Komischerweise scheint sich nach dem Neustart etwa geändert zu haben:

1
2
3
4
$ echo "$PATH"
/usr/share/safe-rm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
$ which rm
/usr/share/safe-rm/bin/rm

safe-rm funktioniert jetzt.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9383

Wohnort: Münster

karzer schrieb:

Komischerweise scheint sich nach dem Neustart etwa geändert zu haben:

#
$ echo "$PATH"
/usr/share/safe-rm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
$ which rm
/usr/share/safe-rm/bin/rm

safe-rm funktioniert jetzt.

Das muss jetzt eine Eigenbrötelei des Pakets safe-rm sein. Wenn funktioniert, ist es gut, aber Beachtung von Standards (LSB) sieht anders aus.

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1479

Wohnort: Bad Oeynhausen

Ich habe einen Hinweis auf die Umstellung durch Usrmerge platziert. Oder sollte lieber der alte Teil ganz raus?

Paderman

Avatar von Paderman

Anmeldungsdatum:
10. April 2011

Beiträge: 236

Wohnort: /welt/eu/de/nrw/kreis/paderborn

Ich habe safe-rm installiert und das System neu gestartet, es wird wie bei karzer auch an erster Stelle angezeigt.

Irgendwie werden trotz Liste sehr wichtige Dateien gelöscht, Beispiel /usr/bin usw.. Ich dachte, dass das einfachere Löschen von sehr wichtigen Daten und Dateien erschwert bzw. vorerst unterbunden wird, dem scheint nicht so zu sein, denn bei dem Test wurde scheinbar die Liste dennoch weitgehend übergangen. Das Booten scheitert nach dieser Test-Aktion. Der Test wurde natürlich in einer VM vorgenommen.

Dennoch frage ich mich, warum es dennoch klappte...

Antworten |