Wie man Benutzer unter Linux erstellt [15 useradd-Beispiele]

Wir sind alle darauf beliebtesten Befehle aufgerufen ‚ useradd‚ oder ‚ adduser‚ in Linux. Es gibt Zeiten, in denen ein Linux-Systemadministrator gebeten wird, Benutzerkonten unter Linux mit spezifischen Eigenschaften, Einschränkungen oder Kommentaren zu erstellen.

In Linux ist der Befehl ‚ useradd‚ ist eine Low-Level-Anwendung zur Erstellung von Benutzerkonten in Linux und anderen unixartigen Betriebssystemen. Der Befehl ‚ adduser‚ ist dem Befehl ‚ useradd‚ sehr ähnlich, da es sich nur um einen symbolischen Link handelt.

In einigen Linux-Distributionen kann der Befehl ‚ useradd‚ eine etwas andere Version haben. Ich empfehle, die Dokumentation zu lesen, bevor Sie unsere Anweisungen verwenden, um neue Benutzerkonten in Linux zu erstellen.

Wenn wir den Befehl ‚ useradd‚ im Linux-Terminal ausführen, führt er die folgenden Hauptaufgaben aus:

  • Es bearbeitet /etc/passwd, /etc/shadow, /etc/group, und /etc/gshadow Dateien für die neu erstellten Benutzerkonten.
  • Erstellt und füllt ein Home-Verzeichnis für den neuen Benutzer.
  • Stellt Berechtigungen und Eigentümer des Home-Verzeichnisses ein.

Useradd Befehlsyntax

Die grundlegende Syntax des ‚useradd‚ Befehls lautet:

useradd [options] username

In diesem Artikel werden wir die 15 am häufigsten verwendeten ‚useradd‚ Befehle mit praktischen Beispielen unter Linux demonstrieren.

1. So fügen Sie einen neuen Benutzer in Linux hinzu

Um einen neuen Benutzer hinzuzufügen oder zu erstellen, müssen Sie den ‚useradd‚ oder ‚adduser‚ Befehl verwenden, gefolgt vom ‚benutzernamen‚. Der ‚benutzernamen‚ ist der Anmeldename, den ein Benutzer verwendet, um sich in das System einzuloggen.

Nur ein Benutzer kann hinzugefügt werden, und der Benutzername muss eindeutig sein und bereits nicht im System existieren.

Zum Beispiel, um einen neuen Benutzer namens ‚tecmint‚ hinzuzufügen, verwenden Sie den folgenden Befehl:

useradd tecmint

Wenn wir einen neuen Benutzer in Linux mit dem ‚useradd‚ Befehl hinzufügen, wird er in einem gesperrten Zustand erstellt. Um dieses Benutzerkonto zu entsperren, müssen wir ein Passwort für dieses Konto mit dem ‚passwd‚ Befehl festlegen.

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Create a User in Linux

Sobald ein neuer Benutzer erstellt wurde, wird seine Eintritts automatisch zum ‚/etc/passwd‚ Datei hinzugefügt. Diese Datei wird verwendet, um die Informationen des Benutzers zu speichern, und der Eintrag sollte.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash
View User Info in Linux

Der obige Eintrag enthält eine Reihe von sieben mit Doppelpunkten getrennten Feldern, wobei jedes Feld seine eigene Bedeutung hat.

Lassen Sie uns sehen, was diese Felder sind:

  • Benutzername – Der Benutzer-Loginname wird verwendet, um sich in das System einzuloggen. Es sollte zwischen 1 und 32 Zeichen lang sein.
  • Passwort – Das Benutzerpasswort (oder das Zeichen 'x') wird im ‘/etc/shadow‘-Datei in verschlüsselter Form gespeichert.
  • Benutzer-ID (UID) – Jeder Benutzer muss eine Benutzer-ID (UID) haben, die für Benutzer-Identifikationsnummer steht. Standardmäßig ist UID 0 für den root-Benutzer reserviert, und UID-Bereiche von 1 bis 99 sind für andere vordefinierte Konten reserviert. Darüber hinaus sind UID-Bereiche von 100 bis 999 für Systemkonten und Gruppen reserviert.
  • Gruppen-ID (GID) – Die primäre Gruppen-ID (GID), die für Gruppen-Identifikationsnummer steht, wird in der ‘/etc/group‘-Datei gespeichert.
  • Benutzerinformationen – Dieses Feld ist optional und ermöglicht es, zusätzliche Informationen über den Benutzer zu definieren, wie zum Beispiel den vollständigen Namen des Benutzers. Diese Informationen können mithilfe des finger-Befehls eingetragen werden.
  • Heimatverzeichnis – Die absolute Position des Benutzer-Heimatverzeichnisses.
  • Shell – Die absolute Position der Benutzer-Shell, z.B. /bin/bash.

2. So erstellen Sie einen Benutzer mit einem anderen Heimatverzeichnis

Standardmäßig erstellt der ‘useradd‘-Befehl das Heimatverzeichnis eines Benutzers unter dem ‘/home‘-Verzeichnis mit dem Benutzernamen. Zum Beispiel ist das Standard-Heimatverzeichnis für den Benutzer ‘tecmint‘ laut obigem Beispiel ‘/home/tecmint‘.

Jedoch kann dieses Verhalten geändert werden, indem Sie die '-d'-Option zusammen mit dem Speicherort des neuen Heimatverzeichnisses verwenden (z. B. ‘/data/projects‘). Zum Beispiel wird der folgende Befehl einen Benutzer ‘anusha‘ mit einem Heimatverzeichnis ‘/data/projects‘ erstellen.

# useradd -d /data/projects anusha
# passwd anusha

Sie können das Heimatverzeichnis des Benutzers und andere benutzerbezogene Informationen, wie Benutzer-ID, Gruppen-ID, Shell und Kommentare mit dem folgenden cat-Befehl anzeigen.

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash
Create a User with a Home Directory in Linux

3. Wie man einen Benutzer mit einer bestimmten Benutzer-ID erstellt

In Linux hat jeder Benutzer seine eigene UID (Unique Identification Number). Standardmäßig weist Linux bei der Erstellung eines neuen Benutzerkontos Benutzer-IDs 500, 501, 502 und so weiter zu.

Jedoch können wir Benutzer mit benutzerdefinierten Benutzer-IDs unter Verwendung der '-u'-Option erstellen. Zum Beispiel wird der folgende Befehl einen Benutzer ‘navin‘ mit einer benutzerdefinierten Benutzer-ID ‘1002‘ erstellen.

useradd -u 1002 navin

Jetzt überprüfen wir, ob der Benutzer mit einer definierten Benutzer-ID (1002) mit dem folgenden Befehl erstellt wurde.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash
Create a User with the User ID in Linux

HINWEIS: Stellen Sie sicher, dass der Wert einer Benutzer-ID eindeutig ist und sich von bereits erstellten Benutzern auf dem System unterscheidet.

4. Wie man einen Benutzer mit einer bestimmten Gruppen-ID erstellt

GID (Gruppenkennung) hat jeder Benutzer ebenfalls. Wir können auch Benutzer mit spezifischen Gruppenkennungen erstellen, indem wir die Option '-g' verwenden.

In diesem Beispiel werden wir einen Benutzer namens ‘tarunika‘ mit einer spezifischen UID und GID gleichzeitig mithilfe der Optionen '-u' und '-g' hinzufügen.

useradd -u 1005 -g tecmint tarunika

Überprüfen Sie nun die zugewiesene Benutzer-ID und Gruppen-ID in der Datei ‘/etc/passwd‘.

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Um die GID des Benutzers zu überprüfen, verwenden Sie das id-Befehl:

id -gn tarunika
Create a User with Group ID in Linux

5. Wie man einen Benutzer zu mehreren Gruppen hinzufügt

Die Option '-G' wird verwendet, um einen Benutzer zu zusätzlichen Gruppen hinzuzufügen. Jeder Gruppenname ist durch ein Komma getrennt, ohne Leerzeichen dazwischen.

In diesem Beispiel fügen wir einem Benutzer namens ‘tecmint‘ mehrere Gruppen hinzu, wie admins, webadmin und developers.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

Überprüfen Sie anschließend mit dem Befehl id, dass dem Benutzer die mehreren Gruppen zugewiesen wurden.

id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh
Add User to Group in Linux

6. Wie man einen Benutzer ohne Home-Verzeichnis hinzufügt

In bestimmten Situationen, in denen wir aus Sicherheitsgründen kein Home-Verzeichnis für einen Benutzer zuweisen möchten, wird das Home-Verzeichnis des Benutzers beim Einloggen in ein System, das gerade neu gestartet wurde, root sein. Wenn ein solcher Benutzer den Befehl ‘su‘ verwendet, wird sein Anmeldeverzeichnis das vorherige Home-Verzeichnis des Benutzers sein.

Um Benutzer ohne ihre Home-Verzeichnisse zu erstellen, wird die Option ‚'-M' verwendet. Zum Beispiel wird der folgende Befehl einen Benutzer ‚shilpi‚ ohne Home-Verzeichnis erstellen.

useradd -M shilpi

Nun, lassen Sie uns überprüfen, ob der Benutzer ohne ein Home-Verzeichnis erstellt wurde, indem wir den ls-Befehl verwenden.

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory
Create User Without Home Directory in Linux

7. Wie man einen Benutzer mit einem Ablaufdatum in Linux erstellt

Standardmäßig, wenn wir Benutzer mit dem Befehl ‚useradd‚ hinzufügen, läuft das Benutzerkonto nie ab, das bedeutet, dass ihr Ablaufdatum auf 0 gesetzt ist (was bedeutet, dass es nie abläuft).

Wir können jedoch das Ablaufdatum mit der Option ‚'-e'‚ setzen, die im Format YYYY-MM-DD sein sollte. Dies ist hilfreich, um temporäre Konten für einen bestimmten Zeitraum zu erstellen.

In diesem Beispiel erstellen wir einen Benutzer ‚aparna‚ mit einem Ablaufdatum des Kontos, das am 27. August 2021 im Format YYYY-MM-DD liegt.

useradd -e 2021-08-27 aparna

Überprüfen Sie anschließend die Konto- und Passwortalterungsinformationen mit dem Befehl ‚chage‚ für den Benutzer ‚aparna‚ nach Festlegung des Ablaufdatums des Kontos.

chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 2021
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7
Create User With Account Expiry Date

8. Wie man einen Benutzer mit einem Passwortablaufdatum erstellt

Das Argument '-f' wird verwendet, um die Anzahl der Tage nach Ablauf eines Passworts festzulegen. Ein Wert von 0 deaktiviert das Benutzerkonto, sobald das Passwort abgelaufen ist. Standardmäßig ist der Wert für das Passwortablaufdatum auf -1 gesetzt, was bedeutet, dass es nie abläuft.

In diesem Beispiel setzen wir das Ablaufdatum für das Kontopasswort auf 45 Tage für den Benutzer ‘mansi‘ unter Verwendung der Optionen '-e' und '-f'.

useradd -e 2014-04-27 -f 45 mansi
Create User With Password Expiry Date

9. Wie man einen Benutzer mit Kommentaren in Linux hinzufügt

Die Option '-c' ermöglicht es Ihnen, benutzerdefinierte Kommentare, wie den vollständigen Namen des Benutzers, Telefonnummer usw., zur Datei ‘/etc/passwd‘ hinzuzufügen. Der Kommentar kann als einzelne Zeile ohne Leerzeichen hinzugefügt werden.

Zum Beispiel fügt der folgende Befehl einen Benutzer ‘mansi‘ hinzu und fügt den vollständigen Namen dieses Benutzers, Manis Khurana, in das Kommentarfeld ein.

useradd -c "Manis Khurana" mansi

Sie können den eingefügten Kommentar in der Datei ‘/etc/passwd‘ im Kommentarbereich mit dem tail-Befehl anzeigen.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh
Create User with Full Name

10. Wie man eine Benutzer-Login-Shell in Linux erstellt

Manchmal fügen wir Benutzer hinzu, die nichts mit der Anmeldeshell zu tun haben, oder manchmal müssen wir unterschiedliche Shells unseren Benutzern zuweisen. Wir können verschiedenen Benutzern mit der Option ‘-s‘ unterschiedliche Login-Shells zuweisen.

Hier in diesem Beispiel wird ein Benutzer ‚tecmint‚ ohne Login-Shell, d. h. ‚/sbin/nologin‚ Shell, hinzugefügt.

useradd -s /sbin/nologin tecmint

Sie können die zugewiesene Shell für den Benutzer in der Datei ‚/etc/passwd‚ überprüfen.

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin
Create a User with a Login Shell

11. Wie man einen Benutzer mit angegebenem Home, Shell und Kommentar erstellt

Der folgende Befehl erstellt einen Benutzer ‚ravi‚ mit einem Home-Verzeichnis ‚/var/www/tecmint‚, einer Standard-Shell von /bin/bash und zusätzlichen Informationen über den Benutzer.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi
Create a User with Home Directory and Login Shell

In dem obigen Befehl erstellen die Optionen '-m' und '-d' einen Benutzer mit einem angegebenen Home-Verzeichnis, und die Option '-s' setzt die Standardshell des Benutzers auf /bin/bash. Die Option '-c' fügt zusätzliche Informationen über den Benutzer hinzu und das Argument '-U' erstellt/fügt eine Gruppe mit demselben Namen wie der Benutzer hinzu.

12. Wie man einen Benutzer mit einem definierten Home, Shell, Kommentar, UID/GID erstellt

Der Befehl ist dem oben genannten sehr ähnlich, aber hier definieren wir die Shell als ‚/bin/zsh‚ und setzen benutzerdefinierte UID und GID für einen Benutzer ‚tarunika‘. Die Option '-u' definiert die UID des neuen Benutzers (d. h. 100), und die Option '-g' definiert die GID (d. h. 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika
Create a User with UID and GID

13. Wie man einen Benutzer mit Home, ohne Shell, Kommentar und UID erstellt

Der folgende Befehl ähnelt sehr den beiden obigen Befehlen. Der einzige Unterschied besteht darin, dass hier die Login-Shell für einen Benutzer namens ‚avishek‚ mit einer benutzerdefinierten Benutzer-ID (d. h. 1019) deaktiviert wurde.

Die '-s'-Option setzt die Standardshell auf /bin/bash, aber in diesem Fall setzen wir die Login-Shell auf ‚/usr/sbin/nologin‚. Das bedeutet, dass der Benutzer ‚avishek‚ sich nicht am System anmelden kann.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek
Create a User with UID and Nologin

14. So erstellen Sie einen Benutzer mit einem festgelegten Home, Shell, Skeleton und UID

Die einzige Änderung in diesem Befehl besteht darin, dass wir die Option '-k' verwenden, um das benutzerdefinierte Skelettverzeichnis auf /etc/custom.skell anstelle des Standardverzeichnisses /etc/skel zu setzen. Wir haben auch die Option '-s' verwendet, um eine andere Shell, /bin/tcsh, für den Benutzer ‚navin‚ zu definieren.

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin
Create a User with Shell and UID

15. So erstellen Sie einen Benutzer ohne Home, Shell oder Gruppe, mit Kommentar

Der folgende Befehl unterscheidet sich sehr von den anderen oben erklärten Befehlen. Hier haben wir die Option '-M' verwendet, um einen Benutzer ohne das Home-Verzeichnis des Benutzers zu erstellen, und die Option '-N' wird verwendet, um das System anzuweisen, nur einen Benutzernamen (ohne Gruppe) zu erstellen. Die Option '-r' dient zum Erstellen eines Systembenutzers.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton
Create a User with NoLogin and Group

Weitere Informationen und Optionen zu ‚useradd‚ erhalten Sie, indem Sie den Befehl ‚useradd‚ im Terminal ausführen, um die verfügbaren Optionen anzuzeigen

useradd

Wenn Sie Benutzerkontoeigenschaften wie den Benutzernamen, die Benutzer-ID (UID), das Home-Verzeichnis, die Shell und mehr ändern möchten, verwenden Sie den usermod Befehl.

Source:
https://www.tecmint.com/add-users-in-linux/