8 Linux-Benutzerverwaltungs-Tricks mit dem Befehl usermod

Indeks
  1. 8 Benutzerinformationen aktualisieren
  2. 7 Benutzernamen ändern
  3. 6 Benutzer-IDs bearbeiten
  4. 5 Passwort eines Benutzers setzen oder zurücksetzen
  5. 4 Neu definieren
  6. Nutzerverzeichnis
  7. Gruppen anpassen
  8. Benutzershell konfigurieren
  9. Benutzerkonten sperren und entsperren
  10. Fehlerbehebung: Kontosperrung
    1. Nutzermanagement in Linux

Der Befehl usermod in Linux ermöglicht die effiziente Anpassung von Benutzerkonten, einschließlich Änderungen an Namen, Passwörtern, Benutzer-IDs und Gruppenmitgliedschaften.

Der Befehl usermod ist ein Werkzeug, um Details über ein bestehendes Benutzerkonto in Ihrem System zu aktualisieren. Es ist ähnlich wie das Bearbeiten des „Profils“ eines Linux-Benutzers. Mit ihm können Sie alles vom Benutzernamen bis zur Anmeldeshell anpassen, ohne das Konto löschen und neu erstellen zu müssen.

8 Benutzerinformationen aktualisieren

Wenn Sie nur allgemeine Benutzerdetails wie die Kontobeschreibung (auch als „Kommentarfeld“ bezeichnet) ändern möchten, können Sie die Option -c verwenden. Dieses Feld wird oft für Dinge wie den vollständigen Namen des Benutzers, das Department oder eine andere kurze Beschreibung verwendet. Hier ein Beispiel:

sudo usermod -c "HTG Testbenutzer" htg

Das -c-Flag dient dem Kommentarbereich. Was auch immer Sie in Anführungszeichen setzen, wird in „/etc/passwd“ angezeigt. Nach dem Ausführen können Sie überprüfen, ob das Update funktioniert hat, indem Sie die Datei „/etc/passwd“ anschauen:

grep htg /etc/passwd

Beachten Sie den „HTG Testbenutzer“ im fünften Feld. Das ist die Beschreibung, die wir gerade hinzugefügt haben. Dieses Feld wird manchmal von Anzeigemanagern oder Dienstprogrammen wie finger verwendet. Es hilft auf Mehrbenutzern-Servern, wo Sie sich möglicherweise nicht an jeden Benutzer erinnern können.

7 Benutzernamen ändern

Manchmal müssen Sie den Anmeldenamen eines Benutzers ändern. Vielleicht war der Benutzername ein temporärer oder Sie möchten einfach die Namenskonventionen standardisieren. Der Befehl usermod macht dies möglich, ohne das Konto löschen und neu erstellen zu müssen. So ändern Sie den Benutzernamen unseres Beispielbenutzers 'htg' in 'howtogeek':

sudo usermod -l howtogeek htg

Das -l (kleines L) Flag steht für den Anmeldenamen. Es teilt usermod mit, dass Sie den Benutzernamen des Kontos ändern möchten. Achten Sie genau auf die Syntax. Sie müssen zuerst den neuen Benutzernamen angeben und dann den aktuellen Benutzernamen des Benutzers, dessen Namen Sie ändern möchten.

Nach dem Ausführen verwendet das Konto nun 'howtogeek' als Anmeldenamen. Sie können die Änderung überprüfen, indem Sie die Datei „/etc/passwd“ erneut ansehen:

grep howtogeek /etc/passwd

Sie sollten auch wissen, dass die Änderung des Anmeldenamens nicht automatisch das Home-Verzeichnis des Benutzers umbenennt. In diesem Beispiel hätte der Benutzer weiterhin „/home/htg“ als Home-Verzeichnis, es sei denn, Sie ändern es ausdrücklich (wird in einem späteren Abschnitt behandelt). Stellen Sie sicher, dass der Benutzer abgemeldet ist, um Fehler oder unerwartetes Verhalten zu vermeiden.

6 Benutzer-IDs bearbeiten

Jeder Benutzer in einem Linux-System wird nicht nur durch seinen Benutzernamen identifiziert. Er hat auch eine UID (Benutzer-ID) Nummer. Die UID ist das, was das System wirklich interessiert, wenn es um die Überprüfung von Dateibesitz und Berechtigungen geht. Normalerweise müssen Sie sich nicht mit UIDs herumärgern, aber es gibt Situationen, in denen Sie es müssen, zum Beispiel beim Migrieren von Benutzern zwischen Systemen, während Sie den Dateibesitz konsistent halten oder Konflikte beheben, wenn zwei Benutzer versehentlich dieselbe UID haben.

So ändern Sie die UID unseres Beispielbenutzers 'htg' von der aktuellen auf 1500:

sudo usermod -u 1500 htg

Die Option -u legt eine neue UID für den Benutzer fest. Dann übergeben wir die neue Benutzer-ID-Nummer. Stellen Sie sicher, dass sie im System einzigartig ist. Nach der Änderung der UID bestätigen Sie dies, indem Sie Folgendes ausführen:

id htg

Sie sollten die neue UID in der Ausgabe sehen. Ein Vorteil ist, dass die Dateien, die der Benutzer besitzt und sich im Home-Verzeichnis des Benutzers befinden, automatisch auf die neue UID geändert werden.

Nach der Änderung der UID des Benutzers 'htg' wurde die Datei in seinem Home-Verzeichnis ebenfalls auf die neue UID aktualisiert.

5 Passwort eines Benutzers setzen oder zurücksetzen

Das Ändern des Passworts eines Benutzers gehört zu den häufigsten administrativen Aufgaben. Normalerweise würden Sie dazu den Befehl passwd verwenden, aber interessanterweise kann auch usermod passwortbezogene Änderungen vornehmen.

Es gibt jedoch einen Haken. Der Befehl usermod verschlüsselt das Passwort nicht für Sie. Das bedeutet, dass das Passwort im Klartext in der Datei „/etc/shadow“ gespeichert wird. Hier ist die allgemeine Syntax:

sudo usermod -p passwort htg

Sie können einen Blick in die Datei „/etc/shadow“ werfen, um zu bestätigen, ob das Passwort geändert wurde.

sudo grep htg /etc/shadow

Wie Sie sehen können, wurde das Passwort geändert, ist jedoch im Klartext sichtbar. Das macht es etwas riskant. Es kann in einigen speziellen Situationen nützlich sein, in denen Sie ein Skript schreiben und möglicherweise vordefinierte Passwörter verwenden müssen. In den meisten anderen Fällen ist passwd die bessere Option, um das Passwort eines Benutzers zu ändern.

4 Neu definieren

Nutzerverzeichnis

Standardmäßig erhält jeder Benutzer, den Sie erstellen, ein Heimatverzeichnis unter "/home/benutzername". Aber was ist, wenn Sie dieses Verzeichnis woanders hin verschieben möchten, vielleicht auf eine andere Festplatte? Oder vielleicht haben Sie den Benutzer umbenannt und möchten, dass das Heimatverzeichnis übereinstimmt? Hier kommt die Option -d des Befehls usermod ins Spiel.

sudo usermod -d /home/howtogeek htg

Die Option -d legt einen neuen Pfad für das Heimatverzeichnis des Benutzers fest. Nach dem Ausführen dieses Befehls erkennt Linux "/home/howtogeek" als das Heimatverzeichnis des Benutzers. Aber hier ist der wichtige Teil: Das verschiebt keine Dateien. Es ändert nur die Referenz. Wenn "/home/howtogeek" nicht existiert, hat der Benutzer am Ende ein leeres (oder sogar nicht existentes) Heimatverzeichnis.

Wenn Sie möchten, dass die Dateien aus dem alten Heimatverzeichnis in das neue verschoben werden, fügen Sie die Option -m hinzu:

sudo usermod -d /home/howtogeek -m htg

Jetzt wird usermod alles von "/home/htg" nach "/home/howtogeek" verschieben. Dies ist besonders nützlich, wenn Benutzer umbenannt werden, damit ihr Heimatverzeichnis mit dem neuen Anmeldenamen übereinstimmt. Nach dem Verschieben ist es eine gute Idee, das Verzeichnis aufzulisten und zu bestätigen, dass alles übertragen wurde:

ls -la /home/howtogeek

Wenn Sie die Dateien des Benutzers sehen können, war der Vorgang erfolgreich.

Gruppen anpassen

Unter Linux organisieren Gruppen Benutzer und steuern deren Zugriff auf Dateien, Verzeichnisse und Dienste. Jeder Benutzer gehört mindestens einer primären Gruppe an und kann auch mehreren zusätzlichen (oder sekundären) Gruppen angehören. Der Befehl usermod ermöglicht es Ihnen, sowohl primäre als auch sekundäre Gruppen zu ändern sowie Benutzer zu bestehenden Gruppen hinzuzufügen oder zu entfernen.

Die primäre Gruppe wird normalerweise zur gleichen Zeit wie das Benutzerkonto erstellt und trägt denselben Namen wie der Benutzer. Sie können sie mit der Option -g wechseln.

sudo usermod -g developers htg

Jetzt gehört 'htg' zu der Gruppe developers (statt zu ihrer alten primären Gruppe), wenn sie eine Datei erstellt. Die meisten Male möchten Sie Benutzer zu zusätzlichen Gruppen hinzufügen, damit sie auf bestimmte Ressourcen zugreifen können (z. B. sudo).

sudo usermod -aG sudo htg

Die Option -a bedeutet anhängen. Ohne diese Option riskieren Sie, bestehende Gruppenmitgliedschaften zu ersetzen. Die Option -G fügt den Benutzer der angegebenen Gruppe hinzu. Wenn Sie -G ohne -a verwenden, teilen Sie Linux mit, alle zusätzlichen Gruppen durch die von Ihnen angegebenen zu ersetzen.

sudo usermod -G sudo htg

Jetzt ist 'htg' nur in der Gruppe sudo (neben ihrer primären Gruppe). Seien Sie also vorsichtig, da Sie versehentlich jemandem wichtige Berechtigungen entziehen könnten.

Es gibt keine Möglichkeit, einen Benutzer mit usermod aus einer Gruppe zu entfernen. Sie können jedoch die Gruppen, in denen der Benutzer Mitglied sein soll, angeben. Angenommen, 'htg' ist Mitglied der Gruppen employee, admin und IT. Sie möchten den Benutzer aus admin entfernen. Dafür führen Sie aus:

sudo usermod -G employee,IT htg

Jetzt ist 'htg' aus der Gruppe admin, aber weiterhin in employee und IT.

Benutzershell konfigurieren

Jedes Mal, wenn sich ein Benutzer anmeldet, startet Linux eine Shell, die Befehlszeilenumgebung, in der sie mit dem System interagieren. Die Standard-Shell ist normalerweise "/bin/bash", aber es gibt viele andere Shells wie "/bin/zsh", "/bin/sh" oder sogar spezialisierte eingeschränkte Shells.

Mit usermod können Sie ändern, welche Shell beim Anmelden des Benutzers gestartet wird. Hier ein Beispiel, bei dem wir die Shell des Benutzers 'htg' auf Zsh ändern:

sudo usermod -s /bin/zsh htg

Die Option -s legt die Anmeldeshell des Benutzers fest. Dann geben wir den Pfad der Shell an, die wir für den Benutzer festlegen möchten. Wenn sich 'htg' jetzt anmeldet, wird er von Zsh anstelle von Bash begrüßt. Wenn Sie sich nicht sicher sind, welche Pfade für verschiedene Shells auf Ihrem System verfügbar sind, versuchen Sie:

cat /etc/shells

Das listet die verfügbaren Shells mit ihren Pfaden auf. Nach der Änderung der Standard-Shell können Sie bestätigen, ob dies erfolgreich war, indem Sie Folgendes ausführen:

getent passwd htg

Wie Sie sehen können, wurde die Standard-Shell für 'htg' von Bash auf Zsh geändert. Dies ist nützlich, wenn Sie die Aktivitäten eines Benutzers einschränken möchten, indem Sie eine weniger leistungsfähige Shell anbieten.

Benutzerkonten sperren und entsperren

Manchmal möchten Sie einen Benutzer nicht löschen, aber Sie möchten verhindern, dass er sich anmeldet. Vielleicht ist er im Urlaub, vielleicht hat er das Unternehmen verlassen, aber Sie müssen seine Dateien behalten, oder vielleicht sind Sie...

Fehlerbehebung: Kontosperrung

Hier kommt die Kontosperrung ins Spiel. Mit usermod können Sie das Passwort eines Kontos schnell sperren oder entsperren.

Um das Konto des Benutzers 'htg' zu sperren, führe ich einfach aus:

sudo usermod -L htg

Die Option -L sperrt das Konto. Es funktioniert, indem ein Ausrufezeichen (!) vor dem verschlüsselten Passwort in "/etc/shadow" hinzugefügt wird. Danach kann 'htg' sich nicht mehr mit seinem Passwort anmelden. Wenn Sie bereit sind, den Zugriff wieder zu gewähren, führen Sie einfach folgendes aus:

sudo usermod -U htg

Die Option -U entsperrt das Konto, indem das ! vor dem Passwort-Hash entfernt wird.

Die Sperrung betrifft nur passwortbasierte Anmeldungen. Wenn der Benutzer SSH-Schlüssel konfiguriert hat, könnte er sich damit weiterhin anmelden, es sei denn, Sie ergreifen zusätzliche Maßnahmen. Für vorübergehende Sperrungen können Sie usermod mit Ablaufdaten kombinieren. Zum Beispiel:

sudo usermod -e 2025-09-30 htg

Nach dem 30. September 2025 wird das Konto automatisch deaktiviert.

Nutzermanagement in Linux

Egal, ob Sie ein Systemadministrator sind oder nur neugierig auf das Nutzermanagement in Linux, diese Tricks werden nützlich sein. Es gibt viele weitere zeitsparende Linux-Tricks, die Sie lernen sollten. Sie können auch andere Befehle erkunden, wie den nc-Befehl.

Bist du neugierig auf weitere Artikel wie 8 Linux-Benutzerverwaltungs-Tricks mit dem Befehl usermod? Entdecke spannende Inhalte in der Kategorie Linux.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up