Läuft alles auf Konsolenebene ab und geht hauptsächlich um Grundlagen und Serverdienste.
Wie gesagt, ich mach das ja net erst seit heut, sondern scho ein bissle länger.
"Wo Saufen ein Ehre ist, kann Kotzen keine Schande sein."
hab Dir auf die schnelle mal ein wenig zusammengesucht, was ich hier hab. Hoffe das hilft Dir weiter.
-------------------------------
In Linux gibt es neben den allgemeinen Berechtigungen für Ordner und Dateien auch das Sticky Bit. Was hat es mit diesem Bit auf sich, und wie setzen Sie es sinnvoll ein? Ältere Linux-Versionen kennen das Sticky Bit nur im Zusammenhang mit ausführbaren Dateien. Eine Anwendung, bei der dieses Bit gesetzt ist, wurde beim Start automatisch in die Auslagerungsdatei kopiert. Das beschleunigte den nächsten Start dieses Programms.
Problem:
In Linux gibt es neben den allgemeinen Berechtigungen für Ordner und Dateien auch das Sticky Bit. Was hat es mit diesem Bit auf sich, und wie setze ich es sinnvoll ein?
Lösung:
Ältere Linux-Versionen kennen das Sticky Bit nur im Zusammenhang mit ausführbaren Dateien. Eine Anwendung, bei der dieses Bit gesetzt ist, wurde beim Start automatisch in die Auslagerungsdatei kopiert. Das beschleunigte den nächsten Start dieses Programms.
Auf aktuellen Systemen ist das Sticky Bit nützlich, wenn Sie als Administrator ein Verzeichnis erstellen, auf das mehrere Benutzer zugreifen dürfen. Wenn Sie ein Verzeichnis mit einem Sticky Bit versehen, darf ein Benutzer nur die Dateien verändern oder löschen, die er selbst dort abgelegt hat. Bei der normalen Rechtevergabe ist das nicht möglich.
Das Sticky Bit setzen Sie mit dem Befehl Chmod. Mit
chmod 1777 shared
weisen Sie für das Verzeichnis "shared" universelle Lese- und Schreibrechte (777) zu. Durch das Sticky Bit (1) beschränken Sie jedoch das Recht, Dateien zu löschen oder zu ändern, auf den Benutzer, der die Datei jeweils angelegt hat.
3. das "sticky" BIT
Es hat den Bitwert 1000 (einfach dazu addieren) und wird durch ein "t" oder "T" statt dem "x" für "alle" dargestellt und hat heute nur noch nur für Verzeichnisse eine Bedeutung:
* drwxrwxrwt 1 root root 12 Mar 26 20:01 tmp
Dieses sticky-bit bewirkt folgendes: Wenn ein berechtigter Nutzer Dateien in dieses Verzeichnis speichert, kann nur er selbst diese wieder löschen, obwohl andere auch Schreibrechte besitzen können. Das macht zum Beispiel für temporäre Dateien aller User in einem gemeinsamen Verzeichnis Sinn.
Die Rechte von Usern auf Dateien und Verzeichnisse
Um den ganzen Sinn von User- und Gruppenmechanismen zu durchblicken ist es notwendig, das Dateikonzept von Unix etwas genauer zu durchleuchten. Die Zugriffsrechte, also die Frage, welche User was mit einer Datei anfangen können, sind für jede Datei einzeln gesetzt. Jede Datei im System, jedes Unterverzeichnis und jede Gerätedatei haben diese Zugriffsrechte und sind damit einstellbar. Wie das im konkreten funktioniert soll hier beschrieben werden.
Jede Datei hat, wie wir schon bei den Unix-Dateisystemen gesehen haben, neben den normalen Angaben, die wir von DOS her kennen wie Dateiname, Größe, Datum, noch mehrere andere Attribute. Interessant sind in diesem Zusammenhang hier für uns die Attribute Eigentümer, Gruppenmitgliedschaft und Zugriffsmodus.
Eigentümer
Jede Datei im System (wirklich jede, auch Verzeichnisse, Gerätedateien usw.) hat einen Eigentümer. Dabei handelt es sich bei Systemdateien immer um den Systemverwalter, normale Dateien gehören dem User, der die Datei angelegt hat. Der Eigentümer ist über seine UserID (UID) angegeben, d.h. jede Datei hat eine 16 Bit Zahl, die den Eigentümer bezeichnet.
Gruppenmitgliedschaft
Jede Datei gehört genau einer Gruppe an. In der Regel ist das die Standardgruppe des Users, der die Datei angelegt hat, das ist aber nicht zwingend. Es ist nicht einmal vorgeschrieben, dass der Eigentümer einer Datei Gruppenmitglied der Gruppe ist, der die Datei angehört. Auch die Gruppenzugehörigkeit wird über eine 16 Bit Zahl, die GroupID (GID) dargestellt.
Zugriffsmodus
Jede Datei hat eine 16 Bit Zahl, die den Zugriffsmodus bestimmt, wie auf sie zugegriffen werden kann und welchen Typ sie hat. Diese Zahl ist in 5 Oktalziffern aufgeteilt, die den Typ und die einzelnen Rechte darstellen.
Genaueres zum Zugriffsmodus
Das Prinzip des Zugriffsmodus wurde bei den Dateisystemen schon erklärt. Jede Datei hat ein rwx-triple, für den Eigentümer, für ein Gruppenmitglied der Gruppe, der die Datei angehört und für den Rest der Welt. Dabei steht r für Lesen und hat den Wert 4, w für Schreiben mit dem Wert 2 und schließlich x für Ausführen (execute) mit dem Wert 1.
Es existieren drei wesentliche Befehle zum Manipulieren dieser Dateieigenschaften.
* chown zum Wechseln des Eigentümers einer Datei
* chgrp zum Wechseln der Gruppenzugehörigkeit einer Datei
* chmod zum Wechseln des Zugriffsmodus einer Datei
Neben den drei üblichen Zugriffsrechten für User, Group und Rest gibt es noch ein viertes, das auch ausgesprochen wichtig für die Systemverwaltung ist. Die normale Darstellung eines Zugriffsrechts geschieht ja numerisch mit den Oktalziffern. Normalerweise werden drei Oktalziffern verwendet, es gibt aber noch eine vierte, führende Ziffer. Eigentlich müsste der Zugriffsmodus 640 eigentlich also 0640 heißen.
Diese führende Ziffer hat nur Bedeutung für Programme bzw. Unterverzeichnisse. Die einzelnen Werte bedeuten:
Ziffer Bedeutung
4 Das Substitute UserID-Bit ist gesetzt
2 Das Substitute GroupID-Bit ist gesetzt
1 Das Sticky-Bit ist gesetzt
Im Einzelnen haben diese drei Bits folgende Bedeutung:
Substitute UID (SUID)
Ein Programm, das dieses Bit gesetzt hat wird nicht unter der UID des Users ausgeführt, der das Programm aufgerufen hat sondern unter der UID des Eigentümers des Programms. Ein kurzes Beispiel mag das verdeutlichen.
Das Programm passwd erlaubt es jedem User sein Passwort zu verändern. Das ist vernünftig, sonst müßte jedesmal der Systemverwalter diese Aufgabe erledigen und der sollte die Passwörter ja auch nicht kennen. Die Passwörter werden aber verschlüsselt in der Datei /etc/shadow gespeichert, auf die ein Normaluser weder lesenden noch gar schreibenden Zugriff hat. Damit ein Normaluser trotzdem sein Passwort ändern kann, hat das Programm passwd als Eigentümer root und es hat das Substitute UserID Bit gesetzt. Das Programm wird also nicht unter der UID des Users ausgeführt, der es aufruft sondern unter der UID des Users, dem das Programm gehört - hier also root. Damit kann das Programm schreibend auf die Datei /etc/shadow zugreifen.
In diesem Fall kann kein Unfug mit dieser Fähigkeit getrieben werden, weil das Programm passwd ja sowieso nur das Passwort des Users ändern kann, der es aufruft. Schlimm wird es, wenn ein Programm mit Ausgang zur Shell mit dem SUID-Bit läuft. Dann hätte jeder User root-Rechte, der das Programm ausführt - sofern das Programm root gehört.
Substitute GroupID (SGID)
Dieses Bit erfüllt die exakt gleiche Aufgabe wie das SUID-Bit, nur dass es sich nicht um die UserID sondern um die GroupID handelt. Ein User, der ein Programm ausführt, dessen SGID-Bit gesetzt ist, führt dieses Programm nicht unter seiner GID aus, sondern unter der GID des Programmes.
Sticky-Bit
Früher, auf alten Großrechneranlagen gab es das Problem, dass ein Programm nur sehr langsam in den Arbeitsspeicher geladen wurde (Magnetbänder). Damit ein häufig benutztes Programm nicht jedesmal wieder geladen werden mußte, konnte man es sticky (klebrig) machen, es blieb also nach der Ausführung im Speicher erhalten.
Heute hat das Sticky-Bit eine andere Aufgabe, die ausschließlich Verzeichnisse betrifft. In einem Verzeichnis, dessen Sticky-Bit gesetzt ist, kann ein Normaluser - auch wenn er Schreibrechte in diesem Verzeichnis besitzt - Dateien nicht löschen.
Voreingestellter Zugriffsmodus
Es bleibt jetzt natürlich die Frage, welche Zugriffsberechtigungen beim Anlegen einer Datei verwendet werden. Um das festzulegen, kennt Unix das Kommando umask, dessen Anwendung aber etwas merkwürdig ist.
Der Befehl umask erwartet eine Maske als Parameter, die sich auf den Zugriffsmodus bezieht, den neu zu erstellende Dateien bekommen sollen. Das Wort Maske bedeutet, dass nicht die Werte eingegeben werden, die gesetzt werden sollen, sondern umgekehrt, die Werte, die nicht gesetzt (maskiert) werden sollen. Die einfachste Möglichkeit besteht darin, die gewünschten oktalen Werte jeweils von 7 abzuziehen:
Wollen wir z.B. dafür sorgen, dass alle unsere Dateien die Zugriffsberechtigung rw-r----- bekommen, also Lese-und Schreibrecht für den Eigentümer, Leserecht für Gruppenmitglieder und keine Rechte für den Rest der Welt, dann entspräche das der oktalen Darstellung 640.
Die dafür notwendige umask wäre dann:
7-6=1
7-4=3
7-0=7
Mit dem Befehl
umask 137
würden also alle Dateien, die wir anlegen die gewünschte Zugriffsberechtigung 640 bekommen. Das hat noch einen kleinen Haken, weil die Verzeichnisse, die wir erstellen würden auch diesen Modus bekämen. Damit wäre für uns selbst das Durchsuchungsrecht (x) nicht gesetzt. Unix hat aus diesem Grund dafür den Mechanismus entwickelt, dass selbst wenn im umask-Kommando das x-Recht gesetzt ist, beim Erzeugen von normalen Dateien dieses Recht nicht gesetzt wird, beim Erzeugen von Verzeichnissen hingegen schon. Ein vernünftiges umask-Kommando setzt also zumindestens für den Eigentümer auch das x-Recht. Damit wäre ein typischer Wert für umask z.B. 022 (rwxr-xr-x) oder 027 (rwxr-x---).
Neben dieser umständlichen Methode gibt es aber auch die symbolische Form, die die Rechte direkt bezeichnet. Sie wird in der Form u=...,g=...,o=... eingegeben, wobei für ... immer die entsprechenden Rechte eingesetzt werden. Also würde der Befehl
umask u=rwx,g=rx,o=
die gleiche Wirkung haben wie
umask 027
Zugriffsrechte
* Kurze Wiederholung
* Ziel des Abschnitts
* Spezielle Zugriffsrechte
* Chmod - Symbolischer Modus
* Chmod - Numerischer Modus
* Voreinstellung für neue Dateien
* Besitzer ändern
* Dateiattribute
Was schon bekannt sein sollte... Weiter
Wer dem Buch durch die einzelnen Kapitel folgte, hat schon Bekanntschaft mit den wichtigsten Zugriffsmechanismen unter Unix geschlossen. Diese Rechte betreffen (die Darstellung entspricht der ersten Kolonne des Kommandos ls -l):
-rwxrwxrwx den Eigentümer,
-rwxrwxrwx die besitzende Gruppe und
-rwxrwxrwx alle anderen.
Ein r in der entsprechenden Dreiergruppe, erlaubt das Lesen für den betreffenden Nutzerkreis, ein w steht für die Befugnis, die Datei zu ändern und das x erlaubt das Ausführen der Datei bzw. - im Falle von Verzeichnissen - die Erlaubnis, in jenes zu wechseln.
Ziel dieses Abschnitts Zurück Anfang Weiter
Zunächst werden wir zwei spezielle Zugriffsrechte kennen lernen, die für gewisse Anwendungsfälle die üblichen Rechte "verbiegen". Des Weiteren werden Sie in der Lage sein, die Zugriffsrechte Ihrer Dateien nach Ihren Wünschen zu gestalten. Ebenso in diesem Abschnitt behandeln wir Dateiattribute, die einen anderweitigen Schutz der Daten gewährleisten.
Nach dem Studium dieses Abschnitts wissen Sie:
* Welche 5 Zugriffsrechte existieren
* Wie Sie Zugriffsrechte ändern
* Warum neue Dateien/Verzeichnisse offensichtlich immer dieselben Rechte erhalten
* Was Dateiattribute sind
* Wie Sie Ihre Daten vor versehentlichem Modifzieren schützen können
Spezielle Zugriffsrechte Zurück Anfang Weiter
Typische Listings im Langformat führen zu Ausgaben folgender Gestalt:
user@sonne>ls -l
drwxr-xr-x 23 root root 1024 Feb 15 15:54 /usr
-rwxr-xr-x 1 root root 110890 Dec 12 18:01 /usr/bin/zoo
-rw-r--r-- 1 user users 9655 Apr 6 09:38 nis.tex
Was die einzelnen Bits zu bedeuten haben, sollte bereits bekannt sein. Betrachten wir nun aber folgende Ausgaben:
user@sonne>ls -ld /t*
drwxrwxrwt 7 root root 1024 Apr 7 10:07 /tmp
Die erste Besonderheit betrifft das Bit t des Verzeichnisses /tmp. Der Buchstabe steht in diesem Fall für »save program text on swap device« und bewirkt, dass in dieses Verzeichnis zu schreibende Daten so lange wie möglich nur in der Swap-Partition (bzw. Hauptspeicher) existieren und eventuell erst beim Shutdown des Systems tatsächlich zurückgeschrieben werden. Für kurzlebige Daten (temporäre Daten) kann ein solches Verhalten zur Performancesteigerung beitragen, da zeitaufwändige Schreiboperationen vermieden werden. Wird das Flag auf ein normales Verzeichnis angewandt, darf dessen Besitzer Dateien anderer Benutzer aus diesem Verzeichnis nicht löschen (das trifft auch auf /tmp! zu). In diesem Zusammenhang spricht man auch vom »Sticky Bit«.
Zur Erläuterung des s-Bits »set user or group ID on execution« betrachten wir ein kurzes C-Programmfragment, so wie das Programm passwd (dient zum Ändern des Passwortes) realisiert sein könnte:
// Programmfragment passwd.c
int main() {
FILE *new;
//...
new = fopen ("/etc/passwd","a");
if ( new == NULL ) {
perror("fopen");
// ...
}
//...
}
Der Systemadministrator übersetzt das Programm und installiert es mit folgenden Zugriffsrechten im Verzeichnis /usr/bin:
-rwxr-xr-x 1 root shadow 32916 Dec 11 20:47 /usr/bin/passwd
Ein normaler Benutzer möchte nun sein Passwort ändern und startet das Programm passwd:
user@sonne>passwd
fopen: permission denied
Was ist die Ursache?
Das Programm versucht, die Datei /etc/passwd zum Schreiben zu öffnen und scheitert natürlich, da nur Root die Schreibberechtigung besitzt (dies darf auch nicht anders sein, sonst könnte jeder die Passwörter manipulieren). Grund hierfür ist, dass der Prozess, der das Programm ausführt, die Benutzerkennung von user erhält.
Mit Hilfe des s-Flags kann die Benutzerkennung des Prozesses vom rufenden Benutzer/Gruppe in die des Besitzers / der besitzenden Gruppe umgewandelt werden, so dass passwd nun "im Auftrag" von Root die Datei /etc/passwd öffnet. Ein s-Bit darf nur bei Binärdateien gesetzt werden (keine Shellskripte).
Chmod -Symbolischer Modus Zurück Anfang Weiter
Zum Ändern der Zugriffsrechte steht das Kommando chmod zur Verfügung:
Aufruf: chmod [options] <mode> <dateiname>
Für die möglichen Optionen sei auf die Manuals verwiesen.
Symbolisch lassen sich die Rechte setzen durch eine Kombination aus der betreffenden Rechtegruppe:
Symbol Rechtegruppe
u Eigentümer (user)
g Gruppe (group)
o Andere (others)
a Alle (all)
und den entsprechenden Rechten:
Symbol Recht
r Leserecht
w Schreibrecht
x Ausführungsrecht
s s-Bit setzen
t t-Bit setzen
+ Recht(e) hinzufügen
- Recht(e) entfernen
= Genau diese Recht(e) setzen
Beispiele
user@sonne>ls -l hello
-rw-r--r-- 1 user users 108 Apr 7 12:10 hello
Rechte werden bitweise dargestellt, für Eigentümer, Gruppe und Andere.
Recht Bitdarstellung Wert
Execute 0000 0001 1
Write 0000 0010 2
Read 0000 0100 4
rwx 0000 0111 7
Jede Rechtegruppe wird durch einen numerischen Wert repräsentiert, die Sonderrechte (s,t) werden durch einen eigenen Wert dargestellt. Somit werden dem Kommando chmod maximal vier Werte übergeben (Abbildung). Fehlen Werte, werden diese von links her (!) als Null (keine Rechte) angenommen, d.h.
chmod 1 <datei>
ist gleichbedeutend mit
chmod 0001 <datei>
Für die Sonderrechte gelten folgende Bitdarstellungen:
Recht Bitdarstellung Wert
t-Flag 0000 0001 1
s-flag der Gruppe 0000 0010 2
s-Flag des Eigentümers 0000 0100 4
Beispiele
user@sonne>ls -l hello
-rw-r--r-- 1 user users 108 Apr 7 12:10 hello
Voreinstellung für neue Dateien Zurück Anfang Weiter
Neue Dateien/Verzeichnisse werden offensichtlich stets mit ein und denselben Zugriffsrechten erzeugt:
user@sonne> mkdir testdir
user@sonne> touch testdat
user@sonne> ls -ld test*
-rw-r--r-- 1 user users 0 Apr 7 13:11 testdat
drwxr-xr-x 2 user users 1024 Apr 7 13:11 testdir
Zuständig für dieses Verhalten ist die so genannte umask, die oft in der Datei /etc/profile auf den Wert 022 voreingestellt wird. Zusätzlich wird noch eine Maximalmaske benötigt, die sich für Verzeichnisse und andere Dateien unterscheidet. Die bei der Erzeugung gesetzten Rechte entstehen nun, indem von der Maximalmaske der durch umask vorgegebene Wert subtrahiert wird:
Verzeichnisse Dateien
Maximalmaske 777 666
umask 022 022
Ergebnis 755 644
Mit dem Kommando umask lässt sich die Voreinstellung ändern.
Besitzer ändern Zurück Anfang Weiter
Wird eine Datei neu erzeugt, so ist ihr Eigentümer immer derjenige, der die Aktion veranlasste und die Datei gehört zur Default-Gruppe des Benutzers. Zum Ändern der Werte dienen die Kommandos chown (change owner) und chgrp (change group).
Den Besitzer einer Datei darf einzig Root ändern. Wäre dem nicht so, könnten hintertriebene Hacker einem beliebigen Benutzer ein modifziertes Programm unterschieben, das dann, mit dessen Rechten gestartet, ggf. allerlei Schindluder im System treiben könnte.
Etwas liberaler geht es bei Gruppen zu, wo der Besitzer Dateien beliebig zwischen Gruppen, denen er angehört, hin und her jonglieren kann.
Beginnen wir mit dem Kommando chgrp:
Aufruf: chgrp [OPTIONEN]... GRUPPE DATEI...
Um die Gruppenzugehörigkeit einer Datei zu wechseln, geben wir Folgendes ein:
user@sonne> ls -l datei
-rw-r--r-- 1 user users 120 May 30 11:25 datei
user@sonne> chgrp fibel datei
user@sonne> ls -l datei
-rw-r--r-- 1 user fibel 120 May 30 11:25 datei
Das Beispiel funktioniert allerdings nur, wenn "user" Mitglied in den Gruppen "users" und "fibel" und Eigentümer von "datei" ist. "chgrp" kann auch auf Verzeichnisse angewandt werden, in dem Fall ist die Option "-R" hilfreich, um rekursiv alle enthaltenen Dateien/Verzeichnisse zu bearbeiten.
Das Kommando ändert, wird es auf einen symbolischen Link angewandt, die Datei, auf die der Link verweist. Mit der Option "-h" lässt sich zusätzlich die Gruppe des Links modifizieren (ab Linux-Kernel 2.2).
user@sonne> ls -l bla datei
lrwxrwxrwx 1 user users 5 May 30 11:43 bla -> datei
-rw-r--r-- 1 user users 120 May 30 11:25 datei
user@sonne> chgrp fibel bla
user@sonne> ls -l bla datei
lrwxrwxrwx 1 user users 5 May 30 11:43 bla -> datei
-rw-r--r-- 1 user fibel 120 May 30 11:25 datei
user@sonne> chgrp users datei
user@sonne> chgrp -h fibel bla
user@sonne> ls -l bla datei
lrwxrwxrwx 1 user fibel 5 May 30 11:43 bla -> datei
-rw-r--r-- 1 user fibel 120 May 30 11:25 datei
Mit chown kann sowohl der Besitzer einer Datei als auch deren Gruppenzugehörigkeit gesetzt werden.
Aufruf: chown [OPTIONEN]... BESITZER[.[GRUPPE]] DATEI...
Die wichtigen Optionen arbeiten analog zu "chgrp"; also kann "-R" verwendet werden, um bei Verzeichnissen rekursiv deren Besitzer / besitzende Gruppe zu modifzieren. Im Unterschied zu "chgrp" bewirkt die Anwendung auf symbolische Links die Änderung deren Werte.
Soll nun nur der Besitzer geändert werden, wird dieser einfach angegeben:
root@sonne> chown newbie datei
Soll die Gruppe gesetzt werden, ist dem Gruppennamen ein (Doppel)Punkt voranzustellen:
root@sonne> chown .fibel datei
Wünscht man sowohl den Besitzer als auch die Gruppe zu wechseln, sind beide Namen durch einen Punkt oder Doppelpunkt voneinander zu trennen:
root@sonne> chown newbie:fibel datei
Gibt man den neuen Besitzer an, gefolgt von einem (Doppel)Punkt, so wird als neue Gruppe dessen Defaultgruppe aus der Datei /etc/passwd verwendet.
Dateiattribute Zurück Anfang
Die Anwendung von Attributen funktioniert nur auf dem Linux-Dateisystem "ext2".
Selbst der erfahrene Linuxer ist vor Fehlern nicht gefeit. Man stelle sich nur vor, man wollte alle Dateien aus einem Unterverzeichnis löschen:
user@sonne> rm -rf ~/DirToDelete/ *
Das Beispiel sieht harmlos aus, birgt aber einen fatalen Fehler in sich: das Leerzeichen zwischen Pfadangabe und dem *. Verschwunden sind nicht die gewünschten Daten, sondern der komplette Inhalt des aktuellen Verzeichnisses (falls man die Berechtigung dazu besaß).
Linux bietet bekannterweise keine zuverlässige Methode des Wiederherstellens gelöschter Daten. Dafür ermöglicht das Linux-Dateisystem ext2 die Vergabe von Attributen für Dateien und Verzeichnisse. Sicher wird man aus Bequemlichkeit meist auf diese verzichten, aber essentielle Daten lassen sich somit zuverlässig schützen. Zum Setzen von Attributen dient das Kommando chattr, anzeigen lassen sie sich mittels lsattr:
a
Die Datei kann weder gelöscht noch deren bisheriger Inhalt verändert werden. Allerdings ist das Anhängen von Daten möglich. Dieses Attribut darf nur Root setzen.
user@sonne> lsattr test.txt; ls test.txt
-------- test.txt
-rw-r--r-- 1 user users 32 Dec 19 19:52 test.txt
root@sonne> chattr +a test.txt
user@sonne> rm test.txt
rm: Entfernen von �test.txt� nicht möglich: Die Operation ist nicht erlaubt
user@sonne> cat < test2.txt >> test.txt; ls -l test.txt
-rw-r--r-- 1 user users 64 Dec 19 19:53 test.txt
d
Eine so gekennzeichnete Datei wird beim Sichern mit dump nicht berücksichtigt.
i
Die Datei kann weder umbenannt noch modifiziert noch gelinkt werden. Nur Root darf das Attribut setzen.
Wird dieses Attribut für Verzeichnisse gesetzt, darf in diesem Verzeichnis keine Datei gelöscht werden, jedoch ist eine Änderung dieser und das Erzeugen neuer Dateien möglich.
s
Eine mit diesem Attribut versehene Datei wird beim Löschen mit 0-Bytes überschrieben.
S
Wird die Datei modifiziert, so wird sie unmittelbar auf die Festplatte zurückgeschrieben, also ohne Zwischenpufferung.
Es existieren weitere Attribute, die aber in der momentanen Implementierung des ext2 nicht unterstützt werden.