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 sudo
Zugang 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.