ADMIN-Tipp: Unlöschbare Files

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Per se ist kein Unix- oder Linux-File unangreifbar, zumindest einer Manipulation mit Rootrechten widerstehen die einfachen Schutzmechanismen nicht. Doch man kann eine Datei mit Bordmitteln durchaus so panzern, dass sich auch der allgewaltige Root daran die Zähne ausbeißt.

Mit den einfachen Dateiattributen für Lesen/Schreiben/Ausführen, die sich auf den Benutzer, eine Gruppe oder alle anderen beziehen, kann man eine bestimmte Datei nicht hundertprozentig vor Überschreiben oder Löschen schützen. Zumindest der Root-User behält das letzte Wort. Allerdings kennen viele Linux-Filesysteme, darunter Ext2, Ext3, Ext4, JFS, ReiserFS, XFS oder Btrfs so genannte erweiterte Attribute (xattr), die neue Möglichketen eröffnen.

Das erweiterte Attribut "A" verhindert beispielsweise, dass bei einem Dateizugriff der atime-Wert geändert wird, was einen kleinen Performance-Bonus verschafft. "D" bewirkt synchrones Schreiben. Das Attribut "a" bewirkt, dass neue Inhalte nur an das bestehende File angehängt werden können. Mehr verrät: "man chattr".

Will man jegliche Änderung des Dateiinhalts verhindern setzt man das Attribut "i":

root@hercules:# chattr +i README 

Mit lsattr kann man sich davon überzeugen, dass die Aktion erfolgreich war:

root@hercules:# lsattr README
----i---------- README

Nun kann auch Root das File nicht mehr verändern oder löschen:

root@hercules:# rm README
rm: Entfernen von »README“ nicht möglich: Die Operation ist nicht erlaubt

Aber einen Joker hat Root trotz allem im Ärmel: Es steht im frei, das Attribut zurückzusetzen, und danach darf er die Datei doch wieder löschen:

root@hercules:/home/jcb/Apps/websec-1.9.0# chattr -i README
root@hercules:/home/jcb/Apps/websec-1.9.0# rm README
root@hercules:/home/jcb/Apps/websec-1.9.0# ls README
ls: Zugriff auf README nicht möglich: Datei oder Verzeichnis nicht gefunden
09.10.2012

Ähnliche Artikel

  • ADMIN-Tipp: Schneller suchen als find

    Unter Linux ist find das bewährte Tool für eine Suche nach Dateien. Es kann flexibel mit regulären Ausdrücken und verschiedenen Suchtiefen umgehen oder eine Datumsrechnung einbeziehen. Allerdings hat es einen Nachteil: Speziell bei großen Volumes ist es prinzipbedingt sehr zeitintensiv, da es immer alle Files im Dateisystem aufsuchen und vergleichen muss.

  • ADMIN-Tipp: Suchen in Texten

    Wenn man zu viel findet kommt man auch nicht weiter. Das kennt man aus dem Internet aber auch vom Unix-Kommando find. Dieser ADMIN-Tipp stellt einen doppelten Filter vor, der den anfallenden Datenmüll reduzieren kann.

  • ADMIN-Tipp: Tipp-Ex für die Shell

    Die Bash kennt einige nette Tricks, die dem Kundigen die Arbeit erleichtern. So vertippt sich auch der größte Guru mal - aber er weiß sich danach elegant zu helfen.

  • ADMIN-Tipp: Sudo und komplexe Kommandos

    "Permission denied" trotz sudo? Das passiert und muss auch kein sudoer-Konfigurationsfehler sein. Woher der Effekt gerade bei komplexen Kommandos kommt und was man dagegen tut.

  • Fedora wieder für System z verfügbar

    Die neueste Version der Fedora-Distribution ist nun wieder für IBMs Großrechner erhältlich.

Comments

Schlechte Einleitung

"[...] dass sich auch der allgewaltige Root daran die Zähne ausbeißt."

Wirklich? Muss das so reisserisch formuliert sein? Das ist ungefaehr genau so "sicher" vor root, wie die Datei mit einem Punkt vor dem Namen zu verstecken... =/

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2020