Benutzer und Gruppen unter Linux
Benutzerkonten und Gruppen werden unter Linux Systemen verwendet, um verschiedene Benutzer (User) zu verwalten. Besonders bei der Verwaltung von Zugriffsrechten, sowie Prozessen, spielt das Benutzer- und Gruppensystem eine wichtige Rolle.
Sie lernen in diesem Beitrag überblicksartig die Grundlagen zu Benutzern und Gruppen auf Unix- beziehungsweise Linux-Systemen kennen.
Benutzer- und Gruppenidentitäten
UID (Benutzer- / User-ID)
Jeder Benutzer erhält eine einzigartige Identifikationsnummer, genannt UID, zugeordnet. Diese Nummer wird vom System verwendet, um Benutzerkonten zu identifizieren und den Zugriff auf Systemressourcen unter einer Vielzahl von Benutzern zu verwalten.
/etc/passwd
In der Konfigurationsdatei /etc/passwd sind alle Benutzer des Systems eingetragen. Sie ordnet die UIDs den Benutzernamen zu und enthält verschiedene Informationen zum Benutzer. Dazu gehören beispielweise die GID der primären Gruppe und der Pfad zum Home-Verzeichnis beziehungsweise zur Shell des Benutzers. Zusatzinformationen, wie zum Beispiel der vollständige Name des Benutzers, können ebenfalls in der /etc/passwd gespeichert werden. Im folgenden Bild ist der vollständige Name als Zusatzinfo eingetragen, dieser ist jedoch - in diesem Fall - gleich dem Benutzernamen.
Das "x" im zweiten Feld des Eintrags signalisiert, dass für den Benutzer ein verschlüsseltes Passwort in der /etc/shadow gespeichert ist.
Um die /etc/passwd auszulesen, können Sie den folgenden Befehl in einem Terminal ausführen:
cat /etc/passwd
GID (Gruppen- / Group-ID)
Jeder Benutzer bekommt eine Gruppen-Identifikationsnummer zugewiesen, mit welcher er als Mitglied einer Gruppe identifiziert werden kann.
/etc/group
Die /etc/group enthält alle registrierten Gruppen des Betriebssystems. Ähnlich wie bei der /etc/passwd können die Gruppen des Systems aus der /etc/group ausgelesen werden:
cat /etc/group
Die /etc/group ist etwas kompakter als die /etc/passwd. Sie beinhaltet ebenfalls eine Zuordnung von Gruppenname zu GID. Es gibt außerdem, ähnlich wie bei der /etc/passwd, einen Marker für ein verschlüsseltes Passwort und ein Feld, welches die Mitglieder der Gruppe enthält.
Wichtige Befehle
Einige Befehle werden bei alltäglichen Aufgaben bei der Systemadministration immer wieder benötigt. Es folgen nun die wichtigsten Befehle für die Verwaltung von Benutzern und Gruppen. Es ist zu beachten, dass die meisten der Befehle für die Benutzer- und Gruppenverwaltung besondere Rechte benötigen, daher sollten diese mit dem Root-Benutzer verwendet werden.
Befehle für die Benutzerverwaltung
adduser - Einen neuen Benutzer hinzufügen
Mit dem Befehl adduser können neue Benutzer angelegt werden. adduser greift dabei auf das systemnahe Werkzeug useradd zurück, um die Erstellung von Benutzern auf einem bedienerfreundlichen Frontend zu ermöglichen. Der neue Benutzer erhält automatisch die nächste freie UID zugeordnet.
Um einen neuen Benutzer zu erstellen, führen Sie den folgenden Befehl in einem Terminal aus:
adduser [Benutzername]
Der Befehl benötigt grundsätzlich keine weiteren Parameter: Alle für die Erstellung des Benutzers notwendigen Daten werden automatisch abgefragt. Dazu gehört das Passwort, der vollständige Name des Benutzers, sowie einige weitere Daten wie Zimmernummer, Telefon und Sonstiges. Letztere können jedoch einfach mit [Enter] übersprungen werden, falls nicht benötigt.
Nach Ausführung des Befehls wird der gewünschte neue Benutzer mitsamt einer gleichnamigen Gruppe und Home-Verzeichnis erstellt.
Beispiel
Eingabe:
adduser admina
Terminal:
Neuer Eintrag in der /etc/passwd (cat /etc/passwd):
admina:x:1001:1001:Admina,,,:/home/admina:/bin/bash
passwd - Passwörter ändern
Der Befehl passwd wird verwendet, um Passwörter von Benutzern zu ändern. Die Syntax lautet:
passwd [Benutzername]
Nach der Ausführung wird zweifach das neue Passwort für den angegebenen Benutzer abgefragt. Der Root-Benutzer kann mit dem Befehl die Passwörter aller Benutzer festlegen. Jeder Benutzer hat jedoch die Möglichkeit sein eigenes Passwort zu aktualisieren. Dazu ist keine Angabe eines Benutzernamen erforderlich.
usermod - Benutzerkonten bearbeiten
Mit usermod lassen sich bereits angelegte Benutzerkonten bearbeiten. Die Syntax des Befehls lautet:
usermod [Optionen] [Benutzer]
Verschiedene Optionen können dabei eingesetzt werden, um beispielsweise Benutzer umzubenennen (-l):
usermod -l [neuer Benutzername] [Benutzer]
..in Gruppen hinzuzufügen (-aG):
usermod -aG [Gruppe/Gruppen] [Benutzer]
..oder auch um UIDs anzupassen (-u):
usermod -u [neue UID] [Benutzer]
Die folgenden Beispiele beschreiben einige der wichtigsten Anwendungsfälle.
Beispiel: Benutzer umbenennen
Eingabe:
usermod -l hellberg hedv
Bedeutung:
Der Benutzer "hedv" wird in "hellberg" umbenannt.
Beispiel: UID festlegen
Eingabe:
usermod -u 1001 hellberg
Bedeutung:
Die UID des Benutzers "hellberg" wird auf 1001 festgelegt. Die Änderung der UID kann nur stattfinden, wenn der betroffene Benutzer nicht angemeldet ist.
Beispiel: Benutzer in eine oder mehrere Gruppen hinzufügen
Eingabe:
usermod -aG edv-beratung,profi-tutorials hellberg
Bedeutung:
Der Benutzer "hellberg" wird in die Gruppen "edv-beratung" und "profi-tutorials" hinzugefügt. Aufgrund der Option -a bleiben bereits bestehende Gruppenmitgliedschaften dabei unberührt. Wird die Option ausgelassen, so werden die Gruppen des Benutzer auf die angegebene Liste festgelegt und Bestehende überschrieben.
deluser - Benutzer löschen
Mit deluser können Benutzer wieder gelöscht werden. Die allgemeine Syntax lautet:
deluser [Optionen] [Benutzer]
Wird der Befehl ohne zusätzliche Optionen verwendet, so wird lediglich der Benutzer selbst gelöscht. Das Home-Verzeichnis, sowie vom Benutzer erstellte Dateien bleiben bestehen. Um den Benutzer mitsamt des Home-Verzeichnisses zu löschen, wird folgender Befehl verwendet:
deluser --remove-home [Benutzer]
Es besteht auch die Möglichkeit alle Dateien eines Benutzers mit zu löschen:
deluser --remove-all-files [Benutzer]
Beispiel: Benutzer löschen
Eingabe:
deluser admina
Bedeutung:
Der Benutzer "admina" wird gelöscht. Das Home-Verzeichnis und sonstige Dateien des Benutzers bleiben unberührt.
Beispiel: Benutzer mitsamt Home-Verzeichnis löschen
Eingabe:
deluser --remove-home hedv
Bedeutung:
Der Benutzer "hedv", sowie das Home-Verzeichnis werden gelöscht.
Beispiel: Benutzer mitsamt aller Dateien löschen
Eingabe:
deluser --remove-all-files bibo
Bedeutung:
Der Benutzer "bibo", sowie alle Dateien des Benutzers werden gelöscht.
Befehle für die Gruppenverwaltung
addgroup - Eine neue Gruppe erstellen
Mit addgroup lassen sich neue Gruppen erstellen. Der Befehl benötigt lediglich den Gruppennamen als Eingabe. Die Gruppe erhält die nächste freie GID.
Verwenden Sie den folgenden Befehl um eine Gruppe zu erstellen:
addgroup [Gruppenname]
groupmod - Gruppe bearbeiten
Der Befehl groupmod wird verwendet, um bestehende Gruppen zu bearbeiten. Die Syntax von groupmod lautet:
groupmod [Optionen] [Gruppe]
Auch hier können verschiedene Optionen angewandt werden. Um den Namen einer Gruppe zu verändern, wird die Option --new-name verwendet:
groupmod --new-name [Gruppe]
Wenn die GID einer Gruppe festgelegt werden soll, wird dazu die Option --gid verwendet:
groupmod --gid [Gruppe]
Beispiel: Gruppenname ändern
Eingabe:
groupmod --new-name it-consulting edv-beratung
Bedeutung:
Die Gruppe "edv-beratung" wird in "it-consulting" umbenannt.
Beispiel: GID festlegen
Eingabe:
groupmod --gid 1005 beratung-hannover
Bedeutung:
Die GID der Gruppe "beratung-hannover" wird auf 1005 festgelegt.
delgroup - Gruppe löschen
Gruppen können mit dem Befehl delgroup gelöscht werden. Die Syntax des Befehls lautet:
delgroup [Optionen] [Gruppe]
Der Befehl kann ohne jegliche Optionen verwendet werden. Mit der zusätzlichen Option --only-if-empty wird jedoch sichergestellt, dass eine Gruppe nur dann gelöscht wird, wenn sie auch leer ist:
delgroup --only-if-empty [Gruppe]
Beispiel: Gruppe unabhängig von enthaltenen Benutzern löschen
Eingabe:
delgroup beratung-hannover
Bedeutung:
Die Gruppe "beratung-hannover" wird gelöscht. Ob die Gruppe noch Benutzer enthält wird dabei nicht beachtet.
Beispiel: Gruppe nur löschen wenn leer
Eingabe:
delgroup --only-if-empty profi-tutorials
Bedeutung:
Die Gruppe "profi-tutorials" wird nur dann gelöscht, wenn sie leer ist. Sind noch Benutzer in der Gruppe vorhanden, so wird eine entsprechende Meldung ausgegeben.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!