Aus der Sicht des Systems existieren drei Benutzerklassen, wenn
entschieden werden soll, ob die Berechtigung für einen Dateizugriff
existiert oder nicht. Soll beispielsweise eine Datei gelöscht werden,
so muss das System ermitteln, ob der Benutzer, welcher die Datei
löschen möchte, das erforderliche Recht besitzt:
user@linux ~$
rm testdatei
rm: Entfernen (unlink) von "testdatei" nicht möglich: Keine Berechtigung
|
In diesem Fall wurde dem rm Kommando der beabsichtigte löschende
Zugriff auf die Datei verwehrt - der ausführende Benutzer hatte
nicht das Recht, die Datei zu löschen. Um diese Entscheidung zu
treffen, verwendet das System das Konzept der Benutzerklassen.
Drei Benutzerklassen werden unterschieden:
user, group und
others.
Jede dieser Benutzerklassen ist wiederum in ein Lese-, Schreib-
und Ausführrecht unterteilt. Diese werden im Folgenden als
Berechtigungsklassen bezeichnet. Somit ergibt sich folgende Körnung
für die einfachen Zugriffsrechte einer Datei:
user-read
|
Leserecht für Dateieigentümer
|
user-write
|
Schreibrecht für Dateieigentümer
|
user-execute
|
Ausführrecht für Dateieigentümer
|
group-read
|
Leserecht für Gruppe des Dateieigentümers
|
group-write
|
Schreibrecht für Gruppe des Dateieigentümers
|
group-execute
|
Ausführrecht für Gruppe des Dateieigentümers
|
other-read
|
Leserecht für alle anderen Benutzer
|
other-write
|
Schreibrecht für alle anderen Benutzer
|
other-execute
|
Ausführrecht für alle anderen Benutzer
|
Tabelle 1: Einfache Zugriffsrechte für Dateien.
|
Benutzerklassen sind also eng mit der Eigentümerschaft von
Dateien verbunden. Jede Datei und jedes Verzeichnis ist sowohl
einem Benutzer (einer UID) als auch einer Gruppe (einer GID)
zugeordnet. UID und GID gehören zur elementaren
Verwaltungsinformation von Dateien und Verzeichnissen
und werden in der sogenannten Inode gespeichert.
Beim Zugriff auf eine Datei werden nun UID und GID des
zugreifenden Prozesses mit UID und GID der Datei verglichen.
Ist other-read gesetzt, darf jeder Benutzer lesend zugreifen
und ein weiterer Vergleich erübrigt sich. Ist lediglich
group-read gesetzt, muss der Zugreifende mindestens der Gruppe
des Dateieigentümers angehören, d.h. eine identische GID
aufweisen. Ist ausschließlich user-read gesetzt, so darf
nur der Eigentümer selbst die Datei lesen. root ist von
dieser Einschränkung freilich ausgenommen. ("Ich bin root,
ich darf das!"). Von sehr speziellen Ausnahmen abgesehen,
die sich außerhalb der hier besprochenen Rechteklassen
bewegen, ist root in seinen Aktionen in keinerlei Weise
eingeschränkt.
|