Genau wie FAT, das seinen Dateien bestimmte Attribute (Archiv, System-Datei, unsichtbar) zuordnet, hat auch ext2fs ein ähnliches Konzept eingeführt. Dies sei jedoch nur der Vollständigkeit halber erwähnt, da Attribute bei ext2fs nur sehr selten benutzt werden. Wenn Sie aber ein wirklich sicheres System möchten, lesen Sie bitte weiter. Sonst überspringen Sie den Rest des Kapitels einfach.
Es gibt unter Linux zwei Kommandos zur Manipulation der Dateiattribute lsattr und chattr. Sie werden eventuell schon erraten haben, dass lsattr die Dateiattribute auflistet, während chattr (vom Englischen change attribute) die Attribute verändert. Attribute können nur auf Verzeichnisse und reguläre Dateien angewendet werden. Folgende Attribute sind möglich:
A: (no Access time, engl. für ,,keine Zugriffszeit``) Falls eine Datei, bzw. ein Verzeichnis dieses Attribut aufweist, wird die letzte Zugriffszeit bei einem Zugriff nicht erneuert. Nützlich kann dies etwa bei Dateien sein, die sehr oft zum Lesen geöffnet werden und daher schreibgeschützt sind, da das Zugriffsdatum dann das einzige Merkmal ist, das an dem Inode geändert werden müsste.
a: (append only, engl. für ,,nur anhängen``) Jede Datei, die dieses Merkmal aufweist und zum Schreiben geöffnet wird, lässt nur zu, dass Daten zu ihrem bisherigem Inhalt hinzugefügt werden. Für ein Verzeichnis heisst dies, dass nur Dateien hinzugefügt, aber keine bestehenden gelöscht oder umbenannt werden können. Nur das privilegierte Benutzer-Kennzeichen root kann dieses Attribut setzen oder wieder entfernen.
d: (no dump, engl. für ,,kein abladen``) dump ist das Standard Unix-Werkzeug um Sicherungskopien anzufertigen. Jedes Dateisystem wird gesichert, welches in der Datei /etc/fstab eine 1 im entsprechenden Feld aufweist (s. Kapitel Dateisysteme und Mount-Punkte). Sollte eine Datei oder ein Verzeichnis aber dieses Attribut aufweisen, wird sie, im Gegensatz zu allen anderen, bei einer etwaigen Sicherungskopie nicht berücksichtigt. Beachten Sie bitte, dass dieses Attribut für Verzeichnisse bedeutet, dass alle Unterverzeichnisse und Dateien, die unter diesem Verzeichnis liegen, nicht gesichert werden.
i: (immutable, engl. für ,,unveränderlich``) Ein Verzeichnis oder eine Datei mit diesem Attribut, kann keinesfalls verändert werden: es ist weder ein Umbenennen, eine Erzeugung weiterer Verweise darauf[1], noch ein Löschen möglich. Wiederum kann man nur vom privilegierten Benutzerkennzeichen root dieses Attribut setzen und entfernen. Beachten Sie, dass dies auch Änderungen an der Zugriffszeit verhindert. Ein Setzen des Attributs A ist also dann nicht mehr notwendig.
s: (secure deletion, engl. für ,,sicheres Löschen``) Beim Löschen einer Datei oder eines Verzeichnisses mit diesem Attribut werden alle Blöcke, die es auf der Festplatte eingenommen hat mit Nullen überschrieben.
S: (Synchronous mode, engl. für ,,Synchroner Modus``) Hat eine Datei oder ein Verzeichnis dieses Attribut gesetzt, werden alle Veränderungen, die an ihr/ihm vorgenommen werden, sofort auf die Festplatte geschrieben.
Beispielsweise könnte man das Attribut ,,i`` für alle essentiellen System-Dateien setzen, um böse Überraschungen zu verhindern. Man könnte auch das Attribut ,,A`` für alle System-Handbuchauszüge setzen, was viele Plattenoperationen überflüssig machen würde und so vor allem bei Laptops die Batterie schont.
[1] | Stellen Sie sicher, dass Sie genau verstanden haben, was es heisst, einen ,,Verweis zu erzeugen`` und welche Unterschiede für reguläre Dateien und Verzeichnisse existieren :-) |
Zurück | Anfang | Vor |
Symbolische Verweise und Einschränkungen ,,harter`` Verweise | Hoch | Das /proc Dateisystem |