Jacky: rm -rf / verhindern

hi

nun ist mir der selbe mist schon das 2. mal passiert.

ich wollte das verzeichnis /bdat/  löschen auf welches
bei mir nur root Zugriff hat.

sudo rm -rf /bdat/

Nur schrecklich wenn man  bdat/  vergisst.
Nun ist mir schon das zweite mal im Laufe eines Jahres
als root   rm -rf /  passiert.

Nu reichts :-/

Kann ich irgendwas tun um Linux das auszureden
dass es rm -rf / auch als root nicht mehr ausführt?

danke, Jacky

  1. hallo,

    Kann ich irgendwas tun um Linux das auszureden
    dass es rm -rf / auch als root nicht mehr ausführt?

    Nein. "rm -rf" wird beispielsweise beim Kompilieren von Software benötigt, um temporäre Dateien zu entfernen oder "veraltete" Systembestandteile zu entsorgen. Hängt ein bißchen von deiner Distribution ab.

    Du kannst dir etwas mehr Sorgfalt und Überlegung beim Einsatz von Konsolenbefehlen angewöhnen, das ist alles, was du da tun kannst.

    Grüße aus Berlin

    Christoph S.

    ss:| zu:) ls:& fo:) va:) sh:| rl:|

    -- Visitenkarte
  2. Hallo Jacky.

    Nun ist mir schon das zweite mal im Laufe eines Jahres
    als root   rm -rf /  passiert.

    Ist deine Tastatur defekt, bist du sehr ungeduldig, oder woran liegt es?

    Kann ich irgendwas tun um Linux das auszureden
    dass es rm -rf / auch als root nicht mehr ausführt?

    Wenn du dem System ausreden willst, root die Ausführung zu verbieten, ist dein Problem ja schon gelöst, da dies standardmäßig der Fall ist. (Lernt man eigentlich noch die alte Regel „Minus mal Minus macht Plus“?)

    Wenn du eine kleine Rückfrage einbauen möchtest, kannst du eine „.bashrc“ unter ~/ anlegen (oder die vorhandene editieren) und folgendes hinzufügen:

    alias rm='rm -i'

    Dies erzeugt einen Alias für „rm“, welcher damit grundsätzlich „rm -i“ (interaktiver Modus → Rückfragen) ausführt.
    Auf diese Art und Weise kannst du natürlich auch den rm-Befehl ganz außer Gefecht setzen, wenn du einen anderen Befehl als auszuführenden einträgst.
    Eine Möglichkeit, nur bei bestimmten Parametern einen alternativen Befehl auszuführen, ist mir nicht bekannt.

    Systemweit kannst du dies übrigens in /etc/bash.bashr festlegen.

    Einen schönen Donnerstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    <mathbr:del.icio.us/> <mathbr:w00t/>

    1. Hi Ashura,

      Wenn du dem System ausreden willst, root die Ausführung zu verbieten, [...]

      ... nimm doch einfach Windows ;-)

      MfG, Den*scnr*nis.

      MySQLDBExport - Eine PHP Klasse für MySQL Dumps
      Wassertropfen #4 - www.schaumerlmal.de

      -- Mein SelfCode: [ie:{ fl:( br:> va:) ls: fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
      1. Hallo Dennis,

        Wenn du dem System ausreden willst, root die Ausführung zu verbieten, [...]

        ... nimm doch einfach Windows ;-)

        unter Windows-NT-ähnlichen Betriebssystemen geht so etwas in der Tat. Du kannst, genügend Rechte vorausgesetzt, auch den Administratoren den Zugriff auf x-beliebige Dateien verweigern.

        Freundliche Grüße

        Vinzenz

    2. Hallo Ingrid.

      Systemweit kannst du dies übrigens in /etc/bash.bashr festlegen.

      Kleinigkeit, aber dennoch: Die Datei heißt „bash.bashrc“.

      Einen schönen Donnerstag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      <mathbr:del.icio.us/> <mathbr:w00t/>

    3. Hallo,

      alias rm='rm -i'

      Dies erzeugt einen Alias für „rm“, welcher damit grundsätzlich „rm -i“ (interaktiver Modus → Rückfragen) ausführt.

      Das nützt nichts wenn er rm mit dem Parameter -f ausführt, da dies das -i einfach überschreibt.

      Gruß,
      Severin

      -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
      -- Benjamin Franklin
      1. Hallo Severin.

        Das nützt nichts wenn er rm mit dem Parameter -f ausführt, da dies das -i einfach überschreibt.

        Bedauerlicherweise (für Jacky) hast du Recht. Daran hatte ich nicht mehr gedacht.

        In diesem Falle fiele mir nur noch die Möglichkeit ein, das echte „rm“ durch ein Shellscript zu ersetzen, was als Interface zum umbenannten „rm“ dient.

        Einen schönen Donnerstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        <mathbr:del.icio.us/> <mathbr:w00t/>

  3. Moin,

    nun ist mir der selbe mist schon das 2. mal passiert.

    ich wollte das verzeichnis /bdat/  löschen auf welches
    bei mir nur root Zugriff hat.

    sudo rm -rf /bdat/

    Nur schrecklich wenn man  bdat/  vergisst.
    Nun ist mir schon das zweite mal im Laufe eines Jahres
    als root   rm -rf /  passiert.

    kannst du dir nicht einen alias auf rm -rf /bdat/ setzen, so dass du nur z.B. weg_bdat eingibst und das System automatisch rm -rf /bdat/ ausführt?
    Wäre eine Möglichkeit, wenn du sowieso immer nur bdat löschen willst.

    MfG,
      Juan

  4. Hallo,

    Ich selber finde ja, dass man als root einfach zuerst denken und dann tippen sollte.
    Aber jetzt sag doch einmal warum dieses Verzeichnis ausgerechnet root und nicht irgendeinem unprieligierten Benutzer gehören soll?

    Gruß,
    Severin

    -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
    -- Benjamin Franklin
  5. Sup!

    Du könntest das rm-Kommando umbenennen und ein Shell-Skript an dessen Stelle setzen, dass das Löschen des root-Verzeichnisses abfängt.

    Gruesse,

    Bio