usermod ist ein Befehlszeilendienstprogramm, mit dem Sie die Anmeldeinformationen eines Benutzers ändern können.

Dieser Artikel beschreibt, wie Sie den Befehl usermod verwenden, um einen Benutzer zu einer Gruppe hinzuzufügen, eine Benutzershell, einen Anmeldenamen, ein Home-Verzeichnis und mehr zu ändern.

usermod Command #

Die Syntax des usermod-Befehls hat die folgende Form:

usermod USER

Nur root oder Benutzer mit sudoZugang können usermod aufrufen und ein Benutzerkonto ändern. Bei Erfolg zeigt der Befehl keine Ausgabe an.

Add a User to a Group #

Der typischste Anwendungsfall von usermod ist das Hinzufügen eines Benutzers zu einer Gruppe.

Um einen vorhandenen Benutzer zu einer sekundären Gruppe hinzuzufügen, verwenden Sie die -a -G-Optionen, gefolgt vom Gruppennamen und dem Benutzernamen:

usermod -a -G GROUP USER

Wenn Sie den Benutzer zu mehreren Gruppen auf einmal hinzufügen möchten, geben Sie die Gruppen nach der -G-Option an, getrennt durch , (Kommas) ohne dazwischen liegendes Leerzeichen.

Um zum Beispiel den Benutzer linuxize zur Gruppe games hinzuzufügen, würden Sie den folgenden Befehl ausführen:

sudo usermod -a -G games linuxize

Verwenden Sie immer die Option -a (anhängen), wenn Sie einen Benutzer zu einer neuen Gruppe hinzufügen. Wenn Sie die Option -a weglassen, wird der Benutzer aus den Gruppen entfernt, die nicht nach der Option -G aufgeführt sind.

Wenn der Benutzer oder die Gruppe nicht existiert, gibt der Befehl eine Warnung aus.

Benutzer-Primärgruppe ändern #

Um die Primärgruppe eines Benutzers zu ändern, rufen Sie den Befehl usermod mit der Option -g auf, gefolgt vom Gruppennamen und dem Benutzernamen:

sudo usermod -g GROUP USER

Im folgenden Beispiel ändern wir die Primärgruppe des Benutzers linuxize in developers:

usermod -g developers linuxize

Jeder Benutzer kann zu genau einer Primärgruppe und null oder mehr Sekundärgruppen gehören.

Ändern der Benutzerinformationen #

Um die GECOS-Informationen (den vollständigen Namen des Benutzers) zu ändern, führen Sie den Befehl mit der Option -c aus, gefolgt von dem neuen Kommentar und dem Benutzernamen:

usermod -c "GECOS Comment" USER

Hier ist ein Beispiel, das zeigt, wie man dem Benutzer linuxize zusätzliche Informationen hinzufügt:

usermod -c "Test User" linuxize

Diese Informationen werden in der Datei /etc/passwd gespeichert.

Ändern eines Benutzer-Home-Verzeichnisses #

Auf den meisten Linux-Systemen werden die Benutzer-Home-Verzeichnisse nach dem Namen des Benutzers benannt und unter dem Verzeichnis /home angelegt.

Wenn Sie aus irgendeinem Grund das Home-Verzeichnis des Benutzers ändern wollen, rufen Sie den Befehl usermod mit der Option -d auf, gefolgt vom absoluten Pfad des neuen Home-Verzeichnisses und dem Namen des Benutzers:

usermod -d HOME_DIR USER

Standardmäßig verschiebt der Befehl den Inhalt des Home-Verzeichnisses des Benutzers nicht in das neue Verzeichnis. Um den Inhalt zu verschieben, verwenden Sie die Option -m. Wenn das neue Verzeichnis noch nicht existiert, wird es erstellt:

usermod -d HOME_DIR -m USER

Das folgende Beispiel zeigt, wie das Home-Verzeichnis des Benutzers www-data in /var/www geändert wird:

usermod -d /var/www www-data

Ändern der Standard-Shell eines Benutzers #

Die Standard-Shell ist die Shell, die nach der Anmeldung am System ausgeführt wird. Auf den meisten Linux-Systemen ist die Standard-Shell auf die Bash-Shell eingestellt.

Um die Standard-Shell des Benutzers zu ändern, führen Sie den Befehl mit der Option -s gefolgt vom absoluten Pfad der Shell und dem Namen des Benutzers aus:

usermod -s SHELL USER

Im folgenden Beispiel ändern wir die Shell des Benutzers auf Zsh:

sudo usermod -s /usr/bin/zsh linuxize

Sie können herausfinden, welche Shells auf Ihrem System verfügbar sind, indem Sie den Inhalt der Datei /etc/shells anzeigen.

Ändern einer Benutzer-UID #

Die UID (die Benutzerkennung) ist eine Nummer, die jedem Benutzer zugewiesen wird. Sie wird vom Betriebssystem verwendet, um auf einen Benutzer zu verweisen.

Um die Benutzer-UID zu ändern, rufen Sie den Befehl mit der Option -u auf, gefolgt von der neuen UID und dem Namen des Benutzers:

usermod -u UID USER

Das folgende Beispiel zeigt, wie die „UID“-Nummer in „1050“ geändert wird:

sudo usermod -u 1050 linuxize

Die UID der Dateien, die dem Benutzer gehören und sich im Home-Verzeichnis des Benutzers befinden, sowie die Mailbox-Datei des Benutzers werden automatisch geändert. Die Eigentümerschaft aller anderen Dateien muss manuell geändert werden.

Benutzernamen ändern #

Auch wenn es nicht sehr oft vorkommt, kann es vorkommen, dass Sie den Namen eines bestehenden Benutzers ändern möchten. Die Option -l wird verwendet, um den Benutzernamen zu ändern:

usermod -l NEW_USER USER

Im folgenden Beispiel wird der Benutzer linuxize in lisa in „1050“ umbenannt:

sudo usermod -l linuxize lisa

Wenn Sie den Benutzernamen ändern, möchten Sie vielleicht auch das Home-Verzeichnis des Benutzers ändern, um den neuen Benutzernamen wiederzugeben.

Einstellen eines Benutzerablaufdatums #

Das Ablaufdatum ist das Datum, an dem das Benutzerkonto deaktiviert wird. Um das Ablaufdatum des Benutzers einzustellen, verwenden Sie die Option -e:

sudo usermod -e DATE USER

Das Ablaufdatum muss im Format YYYY-MM-DD eingestellt werden.

Um zum Beispiel den Benutzer linuxize auf 2022-02-21 zu deaktivieren, würden Sie den folgenden Befehl ausführen:

sudo usermod -e "2022-02-21" linuxize

Um den Ablauf eines Kontos zu deaktivieren, setzen Sie ein leeres Ablaufdatum:

sudo usermod -e "" linuxize

Verwenden Sie den Befehl chage -l, um das Ablaufdatum des Benutzers anzuzeigen:

sudo chage -l linuxize
Last password change: Jul 24, 2018Password expires: neverPassword inactive: neverAccount expires: neverMinimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7

Das Ablaufdatum wird in der Datei /etc/shadow gespeichert.

Sperren und Entsperren eines Benutzerkontos #

Mit der Option -L können Sie ein Benutzerkonto sperren:

usermod -L USER

Die Befehle fügen ein Ausrufezeichen (!) vor dem verschlüsselten Passwort ein. Wenn das Kennwortfeld in der /etc/shadow-Datei ein Ausrufezeichen enthält, kann sich der Benutzer nicht mit der Kennwortauthentifizierung am System anmelden. Andere Anmeldemethoden, wie die schlüsselbasierte Authentifizierung oder der Wechsel zum Benutzer, sind weiterhin zulässig. Wenn Sie das Konto sperren und alle Anmeldemethoden deaktivieren möchten, müssen Sie auch das Ablaufdatum auf 1 setzen.

Die folgenden Beispiele zeigen, wie Sie den Benutzer linuxize sperren:

sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize

Um einen Benutzer zu entsperren, führen Sie usermod mit der Option -U aus:

usermod -U USER

Abschluss #

Wir haben Ihnen gezeigt, wie Sie den Befehl usermod verwenden, um Benutzerkontoinformationen festzulegen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.