Wer schon einmal unter Linux gearbeitet hat, weiß: root kann alles. Dieser Superuser hat die vollständige Kontrolle über das System – und kann theoretisch jede Datei lesen, verändern oder löschen. Doch es gibt einen kleinen Trick, der zumindest dafür sorgt, dass Dateien und Ordner nicht versehentlich gelöscht oder verändert werden – selbst von root.
1. Warum Dateien unter Linux schützen?
Unter Linux hat der Superuser root volle Kontrolle. Das bedeutet: Er kann theoretisch jede Datei löschen, verändern oder verschieben – auch solche, die kritisch für das System sind.
Ein falscher Befehl oder ein fehlerhaftes Skript kann so schnell Schaden anrichten.
Um dies zu verhindern, gibt es einen mächtigen, aber wenig bekannten Befehl: chattr
.
2. Was ist chattr
?
Der Befehl chattr
(change attributes) ist ein Linux-Tool, mit dem man erweiterte Dateisystem-Attribute setzen kann. Diese Attribute liegen unterhalb der normalen Dateirechte (chmod, chown) und beeinflussen, wie Dateien und Ordner auf der Festplatte behandelt werden.
Das bekannteste Attribut ist i
für immutable – also „unveränderlich“.
Weitere Attribute sind:
Attribut | Bedeutung | Wirkung |
---|---|---|
i | immutable | Datei/Ordner kann nicht geändert, gelöscht oder umbenannt werden. Keine neuen Dateien im Ordner möglich. |
a | append only | Datei kann nur erweitert (append) werden, kein Löschen oder Überschreiben möglich. |
A | no atime update | Zeitstempel für letzten Zugriff (atime) wird nicht aktualisiert. |
d | no dump | Datei wird von dump -Backups ignoriert. |
e | extent format | Datei verwendet Extent-Format (standardmäßig bei ext4). |
j | data journaling | Alle Datenänderungen werden im ext3/ext4-Journal protokolliert. |
s | secure deletion | Datei wird beim Löschen mit Nullen überschrieben (nicht auf allen Systemen wirksam). |
u | undeletable | Gelöschte Datei kann wiederhergestellt werden (falls Dateisystem unterstützt). |
3. Immutable-Attribut: Dateien unveränderlich machen
Mit dem Befehl:
sudo chattr +i /pfad/zur/datei
passiert Folgendes:
- Die Datei kann nicht geändert, gelöscht oder umbenannt werden.
- Es können keine weiteren Links darauf erstellt werden.
- Selbst root bekommt beim Löschversuch einen „Operation not permitted“-Fehler.
Beispiel:
# Testdatei anlegen
echo "Wichtige Daten" > test.txt
# Datei unveränderlich machen
sudo chattr +i test.txt
# Löschversuch (als root)
sudo rm test.txt
# Ausgabe: rm: cannot remove 'test.txt': Operation not permitted
4. Ordner unveränderlich machen
Man kann auch ganze Ordner schützen:
sudo chattr +i /pfad/zum/ordner
Effekt:
- Der Ordner selbst kann nicht gelöscht oder umbenannt werden.
- Es können keine neuen Dateien oder Unterordner erstellt oder gelöscht werden.
- Bereits vorhandene Dateien bleiben, wie sie sind.
5. Schutz wieder entfernen
Das immutable-Attribut lässt sich natürlich auch wieder deaktivieren:
sudo chattr -i /pfad/zur/datei
Danach kann die Datei oder der Ordner wieder normal bearbeitet oder gelöscht werden.
6. Grenzen des Schutzes
So mächtig chattr +i
wirkt – es gibt keine absolute Sicherheit vor root.
Warum?
- root kann das Attribut jederzeit entfernen (
chattr -i
). - Bei physischem Zugriff kann die Festplatte in ein anderes System eingebaut und dort bearbeitet werden.
- Bei Mounts als read-write kann root alles ändern.
chattr +i
ist daher kein Sicherheits-Feature gegen böswillige root-Nutzer, sondern eher ein Schutz vor versehentlichem Löschen oder Überschreiben – zum Beispiel durch fehlerhafte Skripte oder falsche Befehle.
7. Einsatzmöglichkeiten in der Praxis
Typische Szenarien, in denen chattr +i
sinnvoll ist:
- Schutz wichtiger Konfigurationsdateien (
/etc/passwd
,/etc/fstab
, …) - Verhindern, dass Logdateien überschrieben oder gelöscht werden
- Sichern von Webseiten-Dateien vor versehentlicher Änderung
- Wichtige Backup-Ordner vor ungewolltem Löschen schützen
8. Attribute anzeigen
Mit folgendem Befehl kann man prüfen, ob eine Datei das immutable-Attribut hat:
lsattr /pfad/zur/datei
Ausgabe-Beispiel:
----i--------e---- test.txt
Das „i“ zeigt an, dass die Datei unveränderlich ist.
9. Fazit
Ein 100%-iger Schutz vor root ist technisch unmöglich, da root immer volle Kontrolle hat.
Mit dem Befehl:
sudo chattr +i /pfad/zur/datei
kann man jedoch wirkungsvoll verhindern, dass Dateien oder Ordner versehentlich verändert oder gelöscht werden – selbst durch root, solange niemand das Attribut entfernt.
Für Administratoren und Entwickler ist chattr
ein wertvolles Werkzeug, um wichtige Systemdateien oder Projekte abzusichern.

Hi, ich bin gelernter Fachinformatiker für Systemintegration und arbeite als Linux-Systemadministrator. Zuhause fühle ich mich vor allem bei Proxmox, Ubuntu und Debian – die drei begleiten mich sowohl im Job als auch privat auf meinen Servern. Wenn ich nicht gerade an der Shell hänge, tüftle ich gern an neuen Projekten und meinem Smart Home (Hometinker.io), teste spannende Open-Source-Tools oder optimiere bestehende Setups. Auf linuxbase.io möchte ich meine Erfahrungen teilen, damit andere nicht jede Stolperfalle selbst mitnehmen müssen.