Linux: Schreibgeschützte Datei oder Ordner erstellen bzw. löschen

Man stelle sich vor als root auf einem Linux Rechner unterwegs zu sein und folgendes zu erleben:

~/# rm -rf dateiname
rm: cannot unlink `dateiname': Operation not permitted

Bei root entfallen ja bekanntlich sämtliche andere Kriterien wie z.B.

  • Ist man Besitzer der Datei?
  • Sind Owner- oder Gruppenschreibrechte vorhanden?

Daher gibt es eigentlich nur zwei logische Erklärungen warum man die Datei nicht löschen kann. Entweder es stimmt gewaltig etwas nicht (z.B. Rechner gehackt rm Binary ausgetauscht) oder es wurde mittels Dateisystem Attributen für ext2, ext3 oder ext4 gearbeitet. Diese werden mittels ls nicht angezeigt.

Wenn man sich diese Attribute der o.g. Datei anzeigen lässt, ergibt sich folgendes Bild:

~/# lsattr dateiname
-u-ia--------- dateiname

Erst wenn man alle Attribute entfernt hat, kann man mit der Datei so arbeiten wie man möchte.
Das erledigt man wie folgt:

~/# chattr -i -a -u dateiname

.. und siehe da, der anschließende rm Befehl meldet sich erfolgreich.
Wie man genau mit chattr und lsattr arbeiten kann, ist unter folgendem Wiki Eintrag schön dargestellt und erklärt: http://wiki.ubuntuusers.de/chattr

Schreibe einen Kommentar