Kapitel 5. Verwaltung und Wartung

5.1. Benutzerverwaltung

Linux ist im Gegensatz zu Windows 9x/ME ein Mehrbenutzerbetriebssystem. Es gibt verschiedene Benutzer, die verschiedene Rechte haben können. Unter Windows hat jeder Benutzer alle Rechte, d.h. er darf z.B. alle Dateien löschen oder die Dateien, die ein anderer Benutzer angelegt hat, selber öffnen und bearbeiten - oder auch löschen. Auch unter Linux gibt es ein Benutzer, der alles darf: Der Administrator (Superuser). Er heißt "root" und für ihn gelten nicht die üblichen Grenzen.

Neben den Benutzern gibt es auch noch verschiedene Gruppen. Jeder Benutzer ist Mitglied in mindestens einer Gruppe. Durch verschiedene Gruppen ist es möglich, gleiche Rechte für eine ganze Reihe von Benutzern zu gewähren. Dadurch lässt sich z.B. Teamarbeit realisieren: Man erstellt eine neue Gruppe und jedes Teammitglied wird Gruppenmitglied. Dann gewährt man dieser Gruppe (und nur dieser) Zugriff auf bestimmte Dateien.

Die Einhaltung der Rechte erfolgt unter Linux fast ausschließlich über Dateien: Jede Datei hat einen Besitzer und eine Gruppe, die diese Datei besitzt. Man kann für den Besitzer der Datei, der Gruppe und dem Rest (also allen anderen Benutzern) jeweils eigene Rechte zuteilen. Es gibt für Dateien drei Arten von Zugriffsrecht: Ausführen (eXecute), lesen (Read) und Schreiben (Write). Die Rechte einer Datei kann man mit dem Befehl ls -l datei anzeigen lassen. Ein Beispiel:

andreas@server:~$ ls -l Makefile
-rw-r--r--    1 andreas  andreas       411 Oct 21 18:05 Makefile
 \_/\_/\_/         |        |
  |  |  |          |        Gruppe
  |  |  |          Besitzer
  |  |  Rechte für alle anderen Benutzer (außer Besitzer und Gruppe)
  |  Rechte für die Gruppe
  Rechte des Besitzers
In diesem Beispiel gehört die Datei "Makefile" dem Benutzer andreas. Die Datei gehört auch der Gruppe mit dem Namen andreas. Der Besitzer darf die Datei lesen (r) und bearbeiten, d.h. schreiben (w). Die Mitglieder der Gruppe dürfen die Datei nur lesen (r). Alle anderen Benutzer dürfen die Datei auch nur lesen (r).

5.1.1. Benutzer

Alle Benutzer haben eine Nummer, die sogenannte User-ID. Der Administrator (root) hat immer die UID 0. Benutzer mit UIDs unter 100 sind Systembenutzer, d.h. keine realen Benutzer. Diese Systembenutzer werden für bestimmte Dienste benötigt. Zum Beispiel läuft der Webserver als Benutzer www-data (UID 33). Auch alle CGI-Scripte laufen dann unter diesem Benutzer. Das ist sinnvoll, denn wenn alle Programme unter root laufen, hätten die Programme auch alle Rechte. Am Schluss der Skala gibt es noch einen Benutzer nobody (UID 65534). Dieser Benutzer wird für den Gastzugang unter Samba verwendet. Ab UID 500 kommen die realen Benutzer.

5.1.2. Gruppen

Durch eine Mitgliedschaft in einer Gruppe bekommen die Benutzer mehr Rechte unter Linux. Wie bei den Benutzern gibt es zunächst eine Gruppe root (Gruppen-ID 0) und dann weitere Systemgruppen. Es existiert auch die Gruppe nogroup (GID 65534), was die Entsprechung zum Benutzer nobody darstellt. Zusätzlich gibt es jetzt eine Gruppe users (GID 100). In dieser Gruppe ist jeder reale Benutzer Mitglied. Alle Mitglieder der Gruppe internet (GID 101) dürfen das Internet aktivieren. Die Mitglieder der Gruppe admin (GID 102) haben unter Samba Administratoren-Rechte, d.h. sie dürfen jede Freigabe beschreiben. Jeder Schüler ist in der Gruppe schueler (GID 103) und jeder Lehrer in der Gruppe lehrer (GID 104). Jeder Benutzer, der die Homepage bearbeiten darf, muss Mitglied der Gruppe homepage (GID 105) sein.

Zusätzlich existiert für jeden einzelnen Benutzer eine eigene Gruppe, die denselben Namen wie der Benutzername trägt (GID und UID müssen nicht identisch sein).