Dateizugriffsrechte und Benutzerverwaltung unter Linux

Anders als bei MacOS, wo jeder der gerade am Mac sitzt alle Datei beliebig manipulieren kann (sofern er die notwenigen Kenntnise hat), darf unter Linux jeder Nutzer mit jeder Datei nur bestimmte Aktionen ausführen. Dazu sind sind für jede Datei Zugriffsrechte festgelegt. Und damit diese Zugriffsrechte nicht für alle Nuzter gleich sind, gibt es verschiedene Benutzer, die in verschiedenen Benutzergruppen organisert sind.

  1. Benutzer
  2. Unter Linux können auf einem Rechner über 30000 verschiedene Benutzer angelgt werden. Jeder dieser Nutzer hat dabei einen eindeutigen Benuzternamen, eine eindeutige Benutzernummer (UID für User-IDentification), die man sich aber nicht merken muss, ein eigenes Arbeits- oder Heimatverzeichnis und vor allem ein eigenes Passwort. Ausserdem gehöhrt er einer (primären) Benutzergruppe an. Dies alles wird im einfachsten Fall in der Datei /etc/passwd gespeichert.

    Neben den "normalen" Benuztern, gibt es in einem Linuxsystem noch eine Reihe weiterer Benuzter, die zum Teil mit speziellen Rechten ausgestattet sind. Allen vorran ist diese der Nuzter root. Dies ist der Systemadministrator. Dieser darf unabhängig von den Zugriffrechten mit jeder Datei alles machen. root kann der Zugriff auf Dateien nicht verweigert werden.

    Ein weitere Spezialnuzter ist 'nobody'. Bei allen "anonymen" Zugriffen auf das System, also z.B. als Gast unter Netatalk oder via anonymous ftp, greift man als Benutzer 'nobody' zu. Nobody hat nur auf soilche Dateien Zugriff, die explizit für alle freigegeben wurden (und auf solche die nobody selbst angelegt hat). Damit ist dieser Benutzer eine ARt 'Sandbox', mit der man nur wenig (wenn überhaupt) am System kaputt machen kann.

    Weitere vom System eingerichtete Benuzter, wie z.B. daemon, mail, news, usw. sind dazu eingerichtet Zugriff auf bestimmte Systemdateien zu haben, auf die der normale Nuzter nicht zugreifenn soll. Sie tun i.d.R. für den normalen Benutzer unsichtbar ihren Dienst. Man findet aber ihre Einträge in der /etc/passwd.

  3. Zugriffsrechte 1
  4. Wenn ein Nutzer nun eine Datei anlegt, so gehöhrt diese erst einmal ihm. D.h. er darf die Zugriffrechte festlegen. Er kann den lesenden Zugrif auf eine Datei freigeben, den schreibenden und den ausführenden. In der Kommanodzeile (und auch bei der Anzeige in Dateimanagern) werden diese Rechte, durch ein 'r','w' bzw. 'x' dargestellt. Ein nicht eingeräumtes Recht wird durch ein '-' symbolisert.

    Beim festlegen der Rechte kann der Nuzter, diese für sich einschränlen, für die Gruppe (dazu gleich mehr) und für den Rest der Welt getrennt einschränken. Damit ergibt sich in der Anzeige der Rechte (z.B. im kfm oder mit ls -l) zum Beispiel folgendes Aussehen:

    -rwxr-xr- ich wir ....

    Der erste '-' gibt dabei den Dateityp an ('-' steht für normale Dateo, 'd' für Verzeichnis). Dannach kommen die drei Buchstaben für den Eigentümer der Datei. In diesem Falldarf der Eigentümer die Datei lesen (r), beschrieben (w) und ausführen(x). Angöhriger der Gruppe dürfen nur lesen (r) und ausführen(x) und alle anderen dürfen nur lesen. Wem diese Datei gehöhrt verrät einem die nächsten beiden Angaben. Sie gehört dem Nuzter ich und der Gruppe wir.

  5. Benutzergruppen
  6. Es ist mitunter ja wünschenswert meherer Nuzter zu einer Gruppe zusammenzuschliessen, damit zum Beispiel alle Gruppenmitglieder dieselben Datei zugreifen können, ohne dass gleich alle Welt dies auch kann. Dazu gibt es die Benuztergruppen. Jede Gruppe besteht zunächst aus einem Namen und einer Identikationnummer (GID=Group-ID). Jeder Nuzter ist in mindestens einer Gruppe, nämlich der Gruppe, die bei ihm in der Datei /etc/passwd gespeichert ist. Das dies die erste Gruppe ist, zu der ein Benuzter gehört, nennt man sie auch seine "primäre" Gruppe.

    Die Information welche Gruppen mit welchen IDs es gibt ist in der Datei /etc/group gespeichert. Selbstverständlich kann ein Benuzter auch in mehreren Gruppen Mitglied sein. Da in der /etc/passwd nur eine Gruppe eingetargen werden kann. verfährt man bei den weiteren Gruppen umgekehrt. In der Datei /etc/group werden am Ende einer Zeile alle Benutzer eingetragen, die zu dieser Gruppe gehören, beim denen diese Gruppe aber nicht die primäre ist.

  7. Zugriffsrechte 2
  8. Wenn man eine Datei anlegt, so wird nicht nur der Besizter der Datei festgelegt, sondern auch die Gruppe, der diese Datei gehören soll. Dies ist zunächst die primäre Gruppe desjenigen, der dei Datei anlegt. Man kann aber nachträglich dies ändern.

    Die oben erwähnten Zugriffsrechte für die Gruppe bezieht sich immer auf die Mitglieder der Gruppe, der die Datei gehört. dIm obigen Beispiel heisst das, dass alle Mitglieder der Gruppe wir auf die Datei lesend und auführende zugreifen dürfen, auch wen ich gar nicht mitgliched von wir ist.

  9. mehr Zugriffsrechte
  10. Im folgenden möchte ich auf einige Feinheiten des Rechtesystems von Linux eingehen:


Rüdiger Goetz
Last modified: Thu May 18 22:23:35 CEST 2000