Die Benutzerverwaltung in LINUX

Wozu Benutzer und Gruppen?

LINUX ist von Anfang an als Mehrbenutzer-System ausgelegt. D.h. mehrere Benutzer können sich gleichzeitig am System anmelden und arbeiten. Diese Eigenschaft von LINUX Systemen bedingt das Vorhandensein einer Benutzersteuerung/Verwaltung. Zum einen muss das System vor unerlaubten Manipulationen einzelner Benutzer geschützt werden. Zum anderen müssen die Benutzer mit ihrem Arbeitsbereich und ihre Dateien voneinander getrennt und abgegrenzt werden.

Für das Arbeiten mit Dateien bringt Linux eine Rechteverwaltung mit, die den Zugriff auf Dateien benutzer- und gruppenabhängig steuert. Dafür benötigt Linux auch besondere Dateisysteme, die eine Rechtevergabe zulassen.

Benutzer unter Linux

Linux bringt eine umfangreiche, ausgeklügelte Benutzersteuerung mit, die es ermöglicht unterschiedliche Nutzer mit individuell verschiedenen Rechten auszustatten.

Die Rechtevergabe für die unterschiedlichen Benutzerkonten ist ein Sicherheitsaspekt bei LINUX. Destruktive Zugriffe auf systemrelevante Daten und Dienste können so eingeschränkt werden.

Reale Nutzer

Jeder reale Nutzer (d.h. Person, die am System arbeitet) hat sein eigenes Benutzerkonto.

Systemnutzer

Aber auch viele Systemdienste bringen ihre eigenen "Benutzerkonten" mit, die auch als Systemnutzer bezeichnet werden. Damit erreicht man, dass Benutzer und Systemdienste auf die selbe Art administriert werden können und sich voneinander abgrenzen lassen.

root und nobody

Als root wird in LINUX-Systemen allgemein der Systemadministrator bezeichnet. Er hat von Haus aus alle Rechte (root-Rechte), darf in allen Verzeichnissen schreiben, auch in Systemverzeichnissen. Dies birgt einige Gefahren, da (auch versehentlich) systemrelevante, wichtige Dateien manipuliert oder gelöscht werden können. Schlimmstenfalls ist das System danach unbrauchbar und alle Daten verloren!!!

Also immer Vorsicht mit root-Rechten!

Nur wer weiß, was er tut und nur wer im Moment das System administrieren muss sollte sich als root ins System einloggen. Ist die Systemadministration erledigt, sollte man sich als root gleich wieder ausloggen und unter einem eigenen Benutzerkonto einloggen. So erspart man sich unangenehme Überraschungen.

Der Benutzer Nobody wird von den meisten LINUX-Systemen als Gast verwendet, der nur mit minimalen Rechten ausgestattet ist.

Gruppen

In LINUX gibt es die Möglichkeit Gruppen zur bilden, denen mehrere Benutzer angehören. Dies macht es möglich, dass mehrere Benutzer auf die selben Dateien zugreifen und diese bearbeiten können.

Auch viele Systemdienste bilden ihre eigenen Gruppen (Systemgruppen). Nur wer diesen Systemgruppen angehört darf die Systemdienste nutzen. Dies ist oft auch ein Grund, warum für einzelne Nutzer bestimmte Systemdienste nicht funktionieren. Es gehört zur Systemadministration, die Benutzer auf die Systemgruppen zu verteilen.

Namenskonvention bei Benutzern und Gruppen

Bei der Namensgebung von Gruppen und Benutzern müssen folgende Konventionen berücksichtigt werden:

  • Die Namen müssen mit einem Kleinbuchstaben beginnen.
  • Als weitere Zeichen sind Kleinbuchstaben, Ziffern, sowie - (Minuszeichen) oder _ (Unterstrich) erlaubt.
  • Am Ende des Benutzer- oder Gruppen-Namens darf ein $ (Dollarzeichen) stehen.
  • Benutzer- und Gruppen-Namen müssen eindeutig sein, d.h. sie dürfen auf dem System nur ein Mal vergeben werden.

UID und GID

Jedem Benutzer (User) wird vom LINUX-System eine eindeutige Benutzer-Nummer zugeteilt. Diese wird als UserID (UID) bezeichnet. Bei OpenSUSE und Debian beginnen die UIDs von realen Benutzern bei 1000. Andere Distributionen lassen für reale Benutzer UIDs ab 500 zu.

Das selbe Prinzip gilt für Gruppen. Das LINUX-System ordnet den Gruppen eine eindeutige GroupID (GID) zu.

Das LINUX-System arbeitet intern mit UIDs und GIDs. Da jedoch die Einteilung der Nutzer nach Nummern nicht sehr intuitiv ist sind diesen Nummern Benutzernamen bzw. Gruppennamen zugewiesen.

Konfigurationsdateien der Benutzerverwaltung

Die Zuordnung von UID und Benutzernamen ergibt sich aus der zentralen Nutzerdatei: /etc/passwd.

Die Zuordnung von GID und Gruppennamen ergibt sich aus der zentralen Gruppendatei: /etc/group.

Benutzer und Gruppen anlegen

Das Anlegen von Benutzern und Gruppen kann grundsätzlich manuell erfolgen, indem die entsprechenden Systemdateien modifiziert werden. Alternativ dazu gibt es aber auch diverse Tools für diese Aufgaben, die jedes System von Haus aus mitbringt.

Einige Überlegungen muss man jedoch in jedem Fall vor dem Anlegen eines Benutzers oder einer Gruppe machen:

  • Den Namen für den Benutzer sinnvoll festlegen. Dabei die Namenskonventionen beachten.
  • Die UID festlegen (UID > 1000).
  • Die Systemdateien modifizieren oder System-Tool ausführen. Beim manuellen Modifizieren sollte man die Systemdateien vorher kopieren und die Kopie in *.old umbenennen.
  • Ein Passwort vergeben. (Kann eventuell automatisch per System-Tool erfolgen)
  • Ein Home-Verzeichnis für den User anlegen. (Kann eventuell automatisch per System-Tool erfolgen)
  • Die Gruppenzugehörigkeiten des Benutzers definieren. (Kann eventuell automatisch per System-Tool erfolgen)

Tools für die Benutzerverwaltung unter Linux

Linux bringt von Haus aus einige Tools zur Benutzerverwaltung mit. Natürlich gibt es bei allen großen Distributionen auch grafische Tools, die die Benutzerverwaltung mehr oder weniger intuitiv per Mausklick möglich machen. Aber auch auf der Konsole gibt kann man Benutzer ohne größeren Aufwand anlegen.

Eine Übersicht der Konsolentools für die LINUX-Benutzerverwaltung gibt es hier.

Ändern von Nutzern und Gruppen

Eine Aufgabe für den Administrator eines Systems ist die Vergabe von Rechten für Benutzer oder auch die Verteilung der Benutzer auf verschiedene Gruppen. Allerdings ist zu bedenken, das Benutzerrechte und Gruppenzugehörigkeiten beim Login in die Shell gesetzt werden. Daher werden Änderungen in diesem Bereich erst nach dem erneuten Anmelden des betreffenden Users wirksam.