GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie Benutzer mit dem Befehl Useradd in Linux

In Linux- und Unix-ähnlichen Betriebssystemen ist der häufigste Befehl zum Erstellen von Benutzern „useradd“ oder „adduser“. Als Systemadministrator müssen Sie häufig Benutzer hinzufügen, Benutzer entfernen, Gruppen erstellen und Benutzer zuweisen.

Es gibt keinen Unterschied zwischen den beiden oben genannten Befehlen in Bezug auf die Funktionen. Der Befehl adduser ist benutzerfreundlicher und wird von einigen Debian/Ubuntu-Administratoren gerne verwendet. Useradd ist mit dem Linux-System binär kompiliert und arbeitet als Backend für adduser.

In diesem Tutorial lernen wir, wie man Benutzer in Linux vom Terminal aus mit dem Befehl useradd erstellt.

Useradd-Befehl und -Syntax

Die folgende Zeile zeigt die Syntax für den useradd-Befehl:

useradd [OPTIONS] username

Ein Benutzer kann einfach durch Eingabe des Benutzernamens gefolgt von dem Befehl hinzugefügt werden. Sie sollten useradd ausführen Befehl entweder mit root- oder sudo-Benutzerrechten.

Lassen Sie uns mehr über useradd erfahren Befehl und seine Optionen.

1) So erstellen Sie einen neuen Benutzer unter Linux

Wie oben erwähnt, verwenden wir zum Erstellen eines neuen Benutzers den Befehl useradd.

Der folgende Befehl erstellt einen neuen Benutzer namens 'bill' und der zweite Befehl setzt dem Benutzer ('bill') ein neues Passwort.

$ sudo useradd bill
$ sudo passwd bill

Dadurch wird der Benutzer mit dem Home-Verzeichnis als /home/bill erstellt und kopiert Dateien aus dem Verzeichnis '/etc/skel' in das Home-Verzeichnis des Benutzers.

$ ls -al /home/bill/
total 20
drwx------. 2 bill bill 4096 Mar  9 06:49 .
drwxr-xr-x. 4 root root 4096 Mar  9 06:49 ..
-rw-r--r--. 1 bill bill   18 Nov  8 16:21 .bash_logout
-rw-r--r--. 1 bill bill  141 Nov  8 16:21 .bash_profile
-rw-r--r--. 1 bill bill  312 Nov  8 16:21 .bashrc

Dieser Befehl fügt einen Eintrag zu den Dateien /etc/passwd, /etc/shadow, /etc/group und /etc/gshadow hinzu.

Hinweis:Auf Ubuntu- und Debian-bezogenen Distributionen erstellt useradd kein Standard-Home-Verzeichnis, es sei denn, Sie müssen es mit Optionen angeben. Stattdessen empfiehlt Debian die Verwendung des Befehls adduser.

2) Erstellen Sie einen Benutzer mit einem bestimmten Home-Verzeichnis

Um einen Benutzer mit einem bestimmten Home-Verzeichnis als Wert für die Benutzeranmeldung anzulegen, verwenden Sie -d Möglichkeit. Stellen Sie sicher, dass Sie das Basis-Home-Verzeichnis mit dem Befehl mkdir erstellen, bevor Sie den Befehl ausführen.

Lassen Sie uns das Basis-Home-Verzeichnis mit dem Namen „devops“ erstellen:

$ sudo mkdir /devops

Nun erstellt der folgende Befehl den Benutzer ‚bill‘ und setzt sein Home-Verzeichnis auf ‚/devops/billhome‘.

$ sudo useradd -d /devops/billhome bill
Output
$ sudo useradd -d /devops/billhome bill
$ ls -al /devops/billhome
total 12
drwxr-xr-x  2 bill bill  100 Dec 31 05:13 .
drwxr-xr-x 17 root root 3680 Dec 31 05:13 ..
-rw-r--r--  1 bill bill  220 Apr  4  2018 .bash_logout
-rw-r--r--  1 bill bill 3771 Apr  4  2018 .bashrc
-rw-r--r--  1 bill bill  807 Apr  4  2018 .profile

Sie können eine Kombination aus -m (ein Home-Verzeichnis erstellen, falls es nicht existiert) und -d (gegebenen Pfad als Login-Verzeichnisnamen des Benutzers festlegen) verwenden, um einen Benutzer zu erstellen.

$ sudo useradd -m -d /home/bobhome bob

3) Erstellen eines Benutzers mit spezifischer Benutzer-ID

Wenn Sie einen Benutzer erstellen, weist er standardmäßig die nächste verfügbare UID zu, die in der Datei login.defs definiert ist. Aber mit -u Option können Sie einen Benutzer mit einer bestimmten UID erstellen.

Im folgenden Beispiel wird eine Benutzerrechnung mit einer bestimmten UID (3210) erstellt.

$ useradd -u 3210 bill 
$ grep bill /etc/passwd bill:x:3210:3210::/home/bill:/bin/bash

Die UID ist in der Datei „/etc/passwd“ zu sehen, wie in der obigen Ausgabe gezeigt.

4) Benutzer mit spezifischer Login-Shell erstellen

Manchmal müssen wir einen Benutzer mit einer bestimmten Login-Shell (wie ksh, tcsh, zsh usw.) oder ohne Shell-Login ('/sbin/nologin') erstellen.

Mit -s können wir die dem Benutzerkonto zugeordnete Login-Shell angeben Option wie unten gezeigt:

$ useradd -s /bin/tcsh bill

Sie können die Login-Shell überprüfen, indem Sie den Benutzernamen aus der /etc/passwd-Datei abrufen:

$ grep bill /etc/passwd bill:x:504:505::/home/bill:/bin/tcsh

5) Spezifisches Basis-Home-Verzeichnis erstellen

Standardmäßig befinden sich die Home-Verzeichnisse der Benutzer im Verzeichnis „/home“ (Variable in /etc/default/useradd ). Durch die Verwendung von -b Option können Sie ein anderes Basis-Home-Verzeichnis für den neuen Benutzer haben.

Der folgende Befehl legt das Verzeichnis „/mnt“ als Basisverzeichnis fest und erstellt ein Home-Verzeichnis des Benutzers „bill“ als „/mnt/bill“.

$ useradd -b /mnt bill 
$ grep bill /etc/passwd bill:x:504:505::/mnt/bill:/bin/bash

6) Erstellen Sie einen Benutzer mit einem Ablaufdatum

Beim Anlegen eines neuen Benutzers können Sie mit -e ein Ablaufdatum für das Benutzerkonto festlegen Option.

Im folgenden Beispiel wird das Ablaufdatum (Format des Datums ist JJJJ-MM-TT ) für den Benutzer „Rechnung“ festgelegt.

$ sudo useradd -e 2013-06-23 bill

Dies kann überprüft werden, indem das letzte Feld der Datei „/etc/shadow“ überprüft wird. Das letzte Feld (15879) zeigt das Ablaufdatum als Anzahl der Tage seit der Deaktivierung des Kontos am 1. Januar 1970.

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7::15879:

Eine einfachere Möglichkeit, das Ablaufdatum des Benutzers zu überprüfen, ist die Verwendung des Befehls „chage“, wie unten gezeigt:

$ sudo chage -l bill
Last password change                                    : Feb 10, 2013
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Jun 23, 2013
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

Das -f Die Option gibt die Anzahl der Tage nach Ablauf eines Kennworts an, bis das Konto dauerhaft deaktiviert wird. Der Wert von 0 deaktiviert das Konto, sobald das Passwort abgelaufen ist.

$ sudo useradd -f 20 bill

Wie in der Shadow-Datei gezeigt, ist die Anzahl der Tage auf 20 gesetzt (in der vorletzten Spalte).

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7:20::

7) Erstellen eines Benutzers und Hinzufügen zu mehreren Gruppen

Jeder Benutzer in Linux sollte in einer primären Gruppe und null oder mehr sekundären Gruppen (zusätzliche Gruppe) bleiben.

Die primäre Gruppe eines Benutzers, zu der er gehört, kann mit der Option -g festgelegt werden. Die mit dieser Option versehene Gruppe muss bereits existieren.

$ sudo useradd -g xero bill
$ sudo id bill uid=504(bill) gid=505(xero) groups=505(xero) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Die Gruppe kann mit dem Befehl id überprüft werden. Das -G Option wird verwendet, um einen Benutzer zu zusätzlichen Gruppen hinzuzufügen.

$ sudo useradd -G g1,g2,g3 bill

$ sudo id bill uid=504(bill) gid=509(bill) groups=509(bill),506(g1),507(g2),508(g3) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Sehen wir uns an, wie Sie einen Benutzer erstellen und mehreren Gruppen zuweisen. Der Befehl erstellt einen neuen Benutzer namens „bill“ mit der primären Gruppe „teams“ und den sekundären Gruppen „admin“ und „apache“.

$ sudo useradd -g teams -G admin,apache bill

8) Doppelte Benutzer-ID erstellen

Das -o Option ermöglicht das Erstellen eines Benutzerkontos mit einer doppelten (nicht eindeutigen) Benutzer-ID. Sie müssen eine UID-Nummer mit -u angeben Option.

Überprüfen Sie das folgende Beispiel:

$ sudo useradd -o -u 503 bill

Hier können wir sehen, dass es zwei Konten mit der ID 503 gibt.

$ sudo grep 503 /etc/passwd 
jenny:x:503:503::/home/jenny:/bin/bash 
bill:x:503:505::/home/bill:/bin/bash

9) Erstellen Sie einen Benutzer als Systemkonto

Normalerweise sind die UIDs bis 500 oder 1000 für Systemaccounts reserviert und werden nicht an normale Benutzer vergeben. Mit -r Option wird dem erstellten Benutzer ein Konto mit einer ID im Bereich der Systembenutzer zugewiesen.

$ sudo useradd -r bill 
$ sudo grep bill /etc/passwd bill:x:101:102::/home/bill:/bin/bash

Hier wird das Home-Verzeichnis für den Benutzer nicht erstellt. Es muss manuell erstellt oder mit -m versehen werden Option.

10) Erstellen Sie einen Benutzer ohne Home-Verzeichnis

Wenn Sie kein eigenes Home-Verzeichnis erstellen möchten, -M Option angegeben werden.

$ sudo useradd -M bill 
$ sudo grep bill /etc/passwd 
bill:x:504:505::/home/bill:/bin/bash
$ ls /home/bill 
ls: /home/bill: No such file or directory

In der Ausgabe des Befehls ls ist ersichtlich, dass das Home-Verzeichnis für bill user nicht existiert.

11) Erstellen Sie einen Benutzer mit Passwort

Das Passwort des Benutzers ist standardmäßig deaktiviert. Sie können das Passwort manuell mit dem Befehl passwd festlegen. Aber wenn Sie das Passwort zum Zeitpunkt der Benutzererstellung angeben möchten, können Sie -p verwenden Option.

Aber das hier angegebene Passwort muss verschlüsselt sein, wie es von crypt(3) zurückgegeben wird.

$ sudo useradd -p '$1$ZsQB81$RCCVDuI5VR6q905nUPz4a/' bill

12) Ändern der Standardoptionen

Wenn ein Benutzer auf einem System hinzugefügt wird, werden einige Werte als Standard übernommen, zum Beispiel Shell, Basisverzeichnis usw. Das Basisverzeichnis ist das Verzeichnis, in dem sich die Home-Verzeichnisse der Benutzer befinden. Auf den meisten Linux-Systemen befinden sich die Home-Verzeichnisse der Benutzer im /home-Verzeichnis.

Beispielsweise ist das Home-Verzeichnis des Benutzers Tom standardmäßig „/home/tom“. /home wird also sein Basisverzeichnis sein. Diese Standardoptionen sind in der Datei „/etc/defaults/useradd“ definiert. Diese Voreinstellungen können mit -D eingesehen werden Option zum useradd-Befehl:

$ sudo useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

Der obige Befehl kann auch von normalen Benutzern (Nicht-Root-Benutzern) ausgeführt werden. Das -D Option wird nicht nur zum Anzeigen von Standardeinstellungen verwendet, sondern auch zum Ändern der Standardeinstellungen.

13) Erstellen Sie einen Benutzer mit benutzerdefiniertem Kommentar

Wir können beim Erstellen eines Benutzers den vollständigen Namen oder eine kurze Beschreibung des Benutzers (einen Kommentar) angeben. Sie müssen -c verwenden Option zum Hinzufügen benutzerdefinierter Kommentare.

Lassen Sie mich Ihnen ein Beispiel zeigen:

$ sudo useradd -c "Bill Drape" bill

Dieser Kommentar ist im Eintrag des Benutzers in der Datei „/etc/passwd“ zu sehen.

$ sudo grep bill /etc/passwd bill:x:504:505:Bill Drape:/home/bill:/bin/bash

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie man Benutzer in Linux und verschiedene Optionen des Befehls useradd erstellt. Ich hoffe, Sie hatten Spaß beim Lesen und hinterlassen Sie bitte Ihre Vorschläge im Kommentarbereich unten.


Linux
  1. So erstellen Sie mehrere Benutzerkonten in Linux

  2. So löschen / entfernen Sie Benutzer in Linux mit dem Befehl userdel

  3. So erstellen Sie ein Skript eines Linux-Befehls

  4. So erstellen Sie einen Linux-Benutzer mit Ansible

  5. So erstellen Sie einen Benutzer unter Linux mit Python

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

So erstellen Sie Benutzer mit dem Befehl Useradd in Linux

So erstellen Sie einen Alias ​​unter Linux

Hinzufügen neuer Benutzer in Linux mit dem Useradd-Befehl

So erstellen und verwalten Sie neue Benutzer unter Linux

So erstellen/fügen Sie Benutzer in Linux hinzu