Gast
#3505067
Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie
1 | |
oder
1 | |
ausgeführt werden(auch für sudo)?
|
Anzeige
|
rm -rf * verhinder
Gast
#3505067
Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie
oder
ausgeführt werden(auch für sudo)? Dazu ist ja Linux da. Source an eigene Wünsche anpassen, compilieren, installieren, freuen. Einfach /usr/bin/rm löschen ;-) Oder /usr/bin/rm umbennen und ein Skript namens rm schreiben, das die genannten Fälle abfängt. rm -rf / geht normaler sowieso nicht (nur in Verbindung mit der Option --no-preserve-root).
Gast
#3505102
Hab ich vor über 20 Jahren mal bei einem Kollegen gesehe. Da ist eine ganze SAP Instanz mit verschwunden und der Kunde war echt sauer. Auch wenn man's nicht selber war, als root ist man danach extrem vorsichtig. Bastler schrieb: > Auch wenn man's nicht selber war, als root ist man danach extrem > vorsichtig Wäre es nicht besser vorher vorsichtig zu sein? Die -rf Option ständig anzugeben (egal ob nötig oder nicht) ist sowieso eine Unsitte ... noch besser ist rm -rf .* :-)
Gast
#3505174
Läubi .. schrieb: > Die -rf Option ständig anzugeben (egal ob nötig oder nicht) ist sowieso > eine Unsitte ... Tja, genauso gibt es ja Exemplare, die ein "chmod -R 777 *" als Allheilmittel gegen Fehler jeglicher Art einsetzen. Was will man da machen, wenn das Grundverständnis fehlt und keine Lust bzw. kein Interesse an Nachdenken (über den Befehl an sich, dessen Parameter und die möglichen Folgen) besteht...
Gast
#3505217
du kannst einen alias machen z.b. alias rm="rm -i" dann wird wenigstens vorher gefragt oder du lenkst mit alias auf ein script um welches die Parameter prüft.
Gast
#3505219
Es gab in der Vergangenheit genug kommerzielle Software, die wenn sie das Verzeichnis das zu löschen war nicht fand, eine Ebene darunter platt machte. Da war dann usr einfach weg :-) Um SAP ists sowieso nicht schade. Die daranhägende Datenbank wär viel schlimmer. Bei BSD gibts für diesen Zweck das User Immutable und das System Immutable Flag. "An immutable file may not be changed, moved, or deleted. An append-only file is immutable except that data may be appended to it." man chflags http://www.openbsd.org/cgi-bin/man.cgi?query=chflags Vergleiche dazu auch securelevel(7) http://www.openbsd.org/cgi-bin/man.cgi?query=securelevel&sektion=7&arch=&apropos=0&manpath=OpenBSD+Current fchk
Gast
#3506419
Pete K. schrieb: > noch besser ist rm -rf .* :-) Darauf bin ich auch mal reingefallen, nachdem ich gemerkt hatte, daß rm * die versteckten Files nicht mitgelöscht hat. Den Fehler macht man aber nur einmal. Rapsberry iP schrieb: > Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie > rm -rf * > oder > rm -rf / > ausgeführt werden(auch für sudo)? Am besten, indem du sie nicht ausführst ;-) Ich hab mal zu DOS-Zeiten ein "format c: /y" abgeschickt. Der Kommentar des OS nach der Aktion war "command.com not found", womit es ja Recht hatte. Die aktuellen Windowse sind aber verrammelt und verriegelt, da wehrt sich das OS mit Händen und Füßen gehen eifrige Löscher. Viele System-Ordner sind mit einem Schloß versehen. Und hat man so einen Ordner mit "cacls" umständlich entriegelt, sind die Unterordner natürlich weiterhin verriegelt.
Gast
#3506885
So wie Yalu vorgeschlagen hat. Aber ich würde /usr/bin/rm nach /usr/sbin/rm verschieben. Dann kann man, wenn man's braucht, mit /usr/sbin/rm -rf immer noch benützen. Für den täglichen Gebrauch nützt man das entschärfte Skript.
Gast
#3506933
Rapsberry iP schrieb: > Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie > rm -rf * > oder > rm -rf / > ausgeführt werden(auch für sudo)? Das geht mit folgendem Befehl:
Dadurch wird das Ausführen schädlicher Kommandos konsquent unterbunden. SCNR ;-)
Gast
#3506965
Ein leidiges Thema, aber es wird nur durch Einsatz von Hirn besser, da wenn man es mal weiss, auch aliase umgehen kann. In meinen bisherigen Tätigkeiten musste ich schon mehrfach Kunden aus der "rm"-Patsche helfen. Angefangen bei rsh root@serverb "cd /directory/das/nicht/existiert; rm -rf *" Der Kunde meinte am Morgen "uns ist da was passiert" ... Danach war das ganze OS weg, war damals ein Ultrix. Bei Linux ist der Flurschaden kleiner, aber auch noch nervig genug, da dann mindestens das home-directory von root leer ist. Hat mir damals einen Vormittag im Keller sitzen beschert um das Ultrix neu zu installieren. Oder Kollegen die mal einen ganzen Dateibaum löschen wollten, allerdings war da auch ein NFS-Volume gemountet, somit waren nicht nur lokale Daten weg wie gewünscht, sondern auch der halbe NFS-Server leer. Es gibt genug Situationen in denen auch entsprechende Passagen geskriptet sind und somit keiner wirklich den interaktiven Modus von rm herbeisehnt. Der Alias greift ja auch nur bei interaktiven Sessions und nicht in Skripten. Es gibt durchaus andere Alternativen. Aber wer unbedingt möchte bekommt das auch hin was falsch zu machen. Die eleganteste Lösung ist die von Luxxus und wird in vielen Distributionen mitgeliefert. Manche Betriebssysteme haben einen Papierkorb, aus dem man gelöschte Dateien wieder hervorzaubern kann ;-)
Gast
#3507144
Mark Brandis schrieb: > Manche Betriebssysteme haben einen Papierkorb, aus dem man gelöschte > Dateien wieder hervorzaubern kann ;-) Dann wird aber dringend benötigter Platz nicht sofort frei ... unixadmin schrieb: > Dann wird aber dringend benötigter Platz nicht sofort frei ... Dringend benötigter Platz - bei heutigen Festplatten mit drölfzig Exabyte? ;-)
Gast
#3507787
StinkyWinky schrieb: > So wie Yalu vorgeschlagen hat. > Aber ich würde /usr/bin/rm nach /usr/sbin/rm verschieben. rm gehört nach /bin, nicht nach /usr/bin. Und ob noch alle Skripte richtig tun, wenn man das wo anders hinschiebt? Mark Brandis schrieb: > unixadmin schrieb: >> Dann wird aber dringend benötigter Platz nicht sofort frei ... > > Dringend benötigter Platz - bei heutigen Festplatten mit drölfzig > Exabyte? ;-) Nun, wenn der Platz nicht benötigt wird, braucht man ja auch die Dateien nicht zu löschen.
Gast
#3507795
Rapsberry iP schrieb: > Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie > >
> > oder > >
> > ausgeführt werden(auch für sudo)? das device readonly mounten der bereitsvorgeschlagene alias zu rm -i war Standard auf ner SUN. IMHO eine elegamte Weise das Hirn des Nutzers in kritischen Situationen wieder einzuschalten. Dann könnte man rm auch euf ein script verweisen lassen, das kritische cmd-linee options wegparst und dann das standard rm aufruft. Könnte ein kleiner 5-Zeiler sein, substitute im sed mit geschickten regexp könnte das schaffen. MfG,
Gast
#3507902
Rolf Magnus schrieb: >> noch besser ist rm -rf .* :-) > > Darauf bin ich auch mal reingefallen, nachdem ich gemerkt hatte, daß rm > * die versteckten Files nicht mitgelöscht hat. Den Fehler macht man aber > nur einmal. Wovon redet ihr? Wird bei euch das aktuelle Verzeichnis und rekursiv alle Elternverzeichnisse gelöscht? Bei mir nicht: user@host:/tmp/x$ rm -rf .* rm: cannot remove directory: ‘.’ rm: cannot remove directory: ‘..’ Mark Brandis schrieb: > Dringend benötigter Platz - bei heutigen Festplatten mit drölfzig > Exabyte? ;-) Hast du noch nicht gemerkt, daß Festplatten - unabhängig von der Größe - immer zu klein sind? Rolf Magnus schrieb: > Nun, wenn der Platz nicht benötigt wird, braucht man ja auch die Dateien > nicht zu löschen. Es gibt ja auch noch den Fall, dass man die Dateien nicht mehr braucht, den Platz aber aktuell auch nicht. Uhu Uhuhu schrieb: > Hast du noch nicht gemerkt, daß Festplatten - unabhängig von der Größe - > immer zu klein sind? Ja - weil Menschen Jäger&Sammler sind und einen Haufen unnützen Schrott horten ;-) Mark Brandis schrieb: > Ja - weil Menschen Jäger&Sammler sind und einen Haufen unnützen Schrott > horten ;-) Und wenn man was gelöscht hat, was sich hinterher doch nicht als Schrott entpuppt, ist die Hektik groß... Oder weißt du bei 300.000 Dateien in einem System, von jeder einzelnen ganz genau, ob und wozu sie noch gebraucht wird? Rapsberry iP schrieb: > Wie kann ich unter Linux grundsätzlich verhindern, daß Befehle wie > >
> > oder > >
> > ausgeführt werden(auch für sudo)? Ganz einfach: a) Niemanden ranlassen, also keinerlei Logings zulassen b) / readonly mounten, z. B. als Livefilesystem, geht von CD/DVD/USB-Speicherstick mit Schreibschutz Aber zum erfolgreichen rm -rf / muss man ohnehin die Option --no-preserve-root angeben und auch mit dieser Option bleiben alle Verzeichnisse erhalten, die ein gemountetes Dateisystem enthalten; rm weigert sich mit der Fehlermeldung "Device or resource busy" und terminiert dann. Zum Frühjahrsputz empfiehlt sich deshalb für die lokalen Datenträger: cd /dev for i in $(ls hd? sd? fd0 fd1) do badblocks -fw -t random "$i" & done Und um auch die Netzlaufwerke zu säubern kann man diese Schleife anhängen: find / -type f | while read file do >"$file" done Da hilft dann auch kein undelte, weil Badblocks überschreibt und die find-Schleife nur die Dateilänge auf Null setzt, also nur ändert aber nicht löscht. Uhu Uhuhu schrieb: > Und wenn man was gelöscht hat, was sich hinterher doch nicht als Schrott > entpuppt, ist die Hektik groß... Oder weißt du bei 300.000 Dateien in > einem System, von jeder einzelnen ganz genau, ob und wozu sie noch > gebraucht wird? Das "Festplatten sind immer zu klein" bezieht sich aber wohl eher nicht auf das Betriebssystem an sich, sondern eher auf Filme, Musik, Spiele... das sind meines Erachtens die wahren Speicherfresser.
Gast
#3508941
rm schrieb: > Rolf Magnus schrieb: >>> noch besser ist rm -rf .* :-) >> >> Darauf bin ich auch mal reingefallen, nachdem ich gemerkt hatte, daß rm >> * die versteckten Files nicht mitgelöscht hat. Den Fehler macht man aber >> nur einmal. > > Wovon redet ihr? > Wird bei euch das aktuelle Verzeichnis und rekursiv alle > Elternverzeichnisse gelöscht? Nein. Ich bin mir allerdings relativ sicher, daß das damals (ist schon etliche Jahre her) anders war und ich auf diese Weise einige Files verloren habe. Mark Brandis schrieb: > Das "Festplatten sind immer zu klein" bezieht sich aber wohl eher nicht > auf das Betriebssystem an sich, sondern eher auf Filme, Musik, Spiele... > das sind meines Erachtens die wahren Speicherfresser. Die genannte Zahl ist ohne OS - das sichere ich nicht - und Musik und Filme machen nicht so wahnsinnig viel aus. Zu einem großen Teil - zumindest zahlenmäßig - sind es Dateien in alten Projekten. Da geht man lieber nicht mit der Axt dran. Rolf Magnus schrieb: >> Rolf Magnus schrieb: >>>> noch besser ist rm -rf .* :-) >>> >>> Darauf bin ich auch mal reingefallen, nachdem ich gemerkt hatte, daß rm >>> * die versteckten Files nicht mitgelöscht hat. Den Fehler macht man aber >>> nur einmal. >> >> Wovon redet ihr? >> Wird bei euch das aktuelle Verzeichnis und rekursiv alle >> Elternverzeichnisse gelöscht? > > Nein. Ich bin mir allerdings relativ sicher, daß das damals (ist schon > etliche Jahre her) anders war und ich auf diese Weise einige Files > verloren habe. Habe das damals auf einer SUN ausgeführt. Danach bin ich erst einmal aus dem Raum gegangen, habe mir einen großen Kaffee geschnappt und die Installationsmedien gesucht. Ja, es wurden alle Unterverzeichnisse und Elternverzeichnisse (".*" enthält auch "..") mit gelöscht. Habe das danach nie wieder auf aktuellen Distris probiert :-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|