Benutzer hinzufügen Der Befehl ist ein Low-Level-Dienstprogramm, das zum Hinzufügen/Erstellen von Benutzerkonten in Linux verwendet wird und andere Unix-ähnliche Betriebssysteme.
Linux ist ein Mehrbenutzersystem, was bedeutet, dass mehr als eine Person gleichzeitig mit demselben System interagieren kann. Diese Benutzer müssen erstellt werden, bevor sie das System verwenden.
Beim Aufruf useradd
erstellt ein neues Benutzerkonto gemäß den in der Befehlszeile angegebenen Optionen und den in /etc/default/useradd
festgelegten Standardwerten Datei. useradd
liest auch den Inhalt der /etc/login.defs
Datei. Diese Datei enthält die Konfiguration für die Shadow-Passwort-Suite, wie z. B. die Passwort-Ablaufrichtlinie, Bereiche von Benutzer-IDs, die beim Erstellen von System- und regulären Benutzern verwendet werden, und mehr.
Nur root oder Benutzer mit sudo-Berechtigungen können den Befehl useradd verwenden, um ein neues Benutzerkonto zu erstellen. Beim Aufruf erstellt useradd ein neues Benutzerkonto gemäß den in der Befehlszeile angegebenen Optionen und den in /etc/default/useradd
festgelegten Standardwerten Datei.
- 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.
- Legt Berechtigungen und Eigentumsrechte für das Home-Verzeichnis fest.
Inhaltsverzeichnis
- Neuen Benutzer erstellen
- Neuen Benutzer hinzufügen und Home-Verzeichnis erstellen
- Erstellen Sie einen Benutzer mit einem anderen Home-Verzeichnis
- Benutzer mit einer bestimmten Benutzer-ID
- Benutzer mit einer bestimmten Benutzer-ID
- Hinzufügen eines Benutzers zu mehreren Gruppen
- Benutzer ohne Basisverzeichnis
- Benutzer mit Ablaufdatum des Kontos
- Benutzer mit Ablaufdatum des Passworts
- Hinzufügen benutzerdefinierter Kommentare zu Benutzern
- Festlegen einer Benutzer-Login-Shell
- Erstellen eines Systembenutzers
- Verkettung der Argumente
- Ändern der standardmäßigen useradd-Werte
- Löschen eines Benutzers aus Linux
- Hinzufügen einer Gruppe in Linux
- Benutzergruppe ändern
1. Erstellen Sie einen neuen Benutzer
Grundlegende Syntax von useradd Befehl ist:
# sudo useradd [options] username
Beispiel:
sudo useradd citizix
Wenn wir unter Linux einen neuen Benutzer mit der useradd hinzufügen Befehl, wird es in einem gesperrten Zustand erstellt und um dieses Benutzerkonto zu entsperren, müssen wir mit dem passwd ein Passwort für dieses Konto festlegen Befehl.
$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Ein Eintrag wird automatisch zu /etc/passwd hinzugefügt Datei:
$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash
Die Felder in /etc/passwd
werden durch Doppelpunkt :
getrennt und sie stellen Folgendes dar:
- Benutzername :Anmeldename des Benutzers, der zum Anmelden am System verwendet wird. Es sollte zwischen 1 und 32 Zeichen lang sein.
- Passwort :Benutzerpasswort (oder x-Zeichen), gespeichert in /etc/shadow Datei im verschlüsselten Format.
- Benutzer-ID (UID) :Jeder Benutzer muss eine Benutzer-ID haben (UID ) Benutzeridentifikationsnummer. Standardmäßig UID 0 ist für den Root-Benutzer und UIDs im Bereich von 1-99 reserviert sind für andere vordefinierte Konten reserviert. Weitere UIDs im Bereich von 100-999 sind für Systemkonten und Gruppen reserviert.
- Gruppen-ID (GID) :Die primäre Gruppen-ID (GID ) Gruppenidentifikationsnummer, gespeichert in /etc/group Datei.
- Benutzerinformationen :Dieses Feld ist optional und ermöglicht es Ihnen, zusätzliche Informationen über den Benutzer zu definieren. Beispiel:vollständiger Name des Benutzers. Dieses Feld wird durch den ‚Finger‘-Befehl gefüllt.
- Basisverzeichnis :Der absolute Speicherort des Home-Verzeichnisses des Benutzers.
- Schale :Der absolute Speicherort der Shell eines Benutzers, z. B. /bin/bash .
2. Neuen Benutzer hinzufügen und Home-Verzeichnis erstellen
Verwenden Sie das -m
(--create-home
) Option zum Erstellen des Benutzer-Home-Verzeichnisses als /home/username
:
sudo useradd -m username
Der obige Befehl erstellt das Home-Verzeichnis des neuen Benutzers und kopiert Dateien aus /etc/skel
Verzeichnis in das Home-Verzeichnis des Benutzers.
3. Erstellen Sie einen Benutzer mit einem anderen Home-Verzeichnis
Standardmäßig erstellt useradd ein Home-Verzeichnis mit demselben Namen wie der Benutzername. Um ein anderes Home-Verzeichnis zu erstellen, verwenden Sie -d
Argument mit dem Pfad zu diesem Verzeichnis.
Dieser Befehl erstellt das Home-Verzeichnis /opt/citizixone
für den Benutzer Citifixon.
sudo useradd -d /opt/citizixone citizixone
Checken Sie /etc/passwd
ein
$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash
4. Benutzer mit einer bestimmten Benutzer-ID
Wenn Sie eine Benutzer-ID für den zu erstellenden Benutzer angeben müssen, verwenden Sie das Argument -u
(--uid
) so:
sudo useradd -u 1009 citizix
5. Spezifische Gruppen-ID
Um eine Gruppen-ID anzugeben, verwenden Sie -g
(--gid
) Option wie in diesem Beispiel:
sudo useradd -g citizix citizixtwo
Überprüfen Sie die GID des Benutzers mit diesem Befehl:
$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)
$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash
6. Benutzer zu mehreren Gruppen hinzufügen
Wenn Sie einen Benutzer mehreren Gruppen hinzufügen möchten, verwenden Sie das -G
(--groups
) Option wie in diesem Beispiel:
Fügen Sie den Benutzer citizix
hinzu zu Gruppen admins
, webadmin
, developers
:
sudo usermod -a -G admins,webadmin,developers citizix
Erstellen Sie einen Benutzer citizixtwo
Hinzufügen zu den Gruppen admins
, webadmin
, developers
:
sudo useradd -G admins,webadmin,developers citizix
Verwenden Sie diese Befehle, um zu überprüfen, ob die Benutzer erfolgreich zu den Gruppen hinzugefügt wurden:
sudo id citizix
sudo id citizixtwo
7. Benutzer ohne Basisverzeichnis
Wenn Sie einen Benutzer ohne Home-Verzeichnis erstellen möchten, verwenden Sie das -M
Möglichkeit:
sudo useradd -M citizix
8. Benutzer mit Kontoablaufdatum
Manchmal möchten Sie einen Benutzer mit Ablaufdatum erstellen. Verwenden Sie diesen Befehl, um einen Benutzer citizixfour
zu erstellen das am 2021-12-30
abläuft :
sudo useradd -e 2021-12-30 citizixfour
Um das Alter des Kontos und des Passworts zu überprüfen, verwenden Sie chage
Befehl:
$ sudo chage -l citizixfour
Last password change : Oct 08, 2021
Password expires : never
Password inactive : never
Account expires : Dec 30, 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
9. Benutzer mit Ablaufdatum des Passworts
Das -f
Das Argument wird verwendet, um die Anzahl der Tage zu definieren, die der Benutzer nach Ablauf eines Kennworts inaktiviert ist. Ein Wert von 0
Benutzerkonto deaktivieren, sobald das Passwort abgelaufen ist. Standardmäßig ist der Kennwortablaufwert auf -1
gesetzt bedeutet nie ablaufen.
Hier in diesem Beispiel legen wir ein Ablaufdatum für das Kontopasswort auf 45 days
fest auf einem Benutzer citizixfive
mit -e
und -f
Optionen.
sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive
10. Benutzerspezifische Kommentare hinzufügen
Das -c
(--comment
) Option fügt eine kurze Beschreibung für den neuen Benutzer hinzu. Normalerweise werden der vollständige Name des Benutzers oder die Kontaktinformationen als Kommentar hinzugefügt.
sudo useradd -c "Citizix User" citizixsix
Überprüfen Sie den /etc/passwd
$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash
11. Festlegen einer Benutzer-Login-Shell
Das -s
(--shell
) Option wird verwendet, um eine Login-Shell anzugeben. Wir können entweder eine der installierten Shells wie /bin/bash
verwenden oder bin/zsh
oder für Benutzer, die nichts mit der Login-Shell zu tun haben, können wir /sbin/nologin
machen um anzugeben, dass es keine Login-Shell gibt:
# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix
# Specify no login
sudo useradd -s /sbin/nologin citizix
12. Erstellen eines Systembenutzers
Manchmal benötigen wir Systembenutzer, die entweder vom System oder von Anwendungen verwendet werden, die wir im System installieren.
Verwenden Sie den -r
(--system
) Argument zum Definieren eines Systembenutzers:
sudo useradd -r grafana
13. Verkettung der Argumente
Wir können die Argumente auch beim Erstellen eines Benutzers verketten.
Überprüfen Sie dieses Beispiel zum Erstellen eines Benutzers beim Erstellen eines angegebenen Home-Verzeichnisses /var/www/citizix
und Definieren einer benutzerdefinierten Login-Shell /bin/zsh
und Hinzufügen eines Kommentars Citizix Web User
:
sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix
14. Ändern der Standardwerte für useradd
Das useradd
Standardwerte werden in der Datei /etc/default/useradd
gespeichert .
Überprüfen Sie den Inhalt von /etc/default/useradd
:
$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Sie können sie auch mit dem Argument -D
abfragen für useradd
Befehl:
$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Um diese Werte zu aktualisieren oder zu ändern, bearbeiten Sie entweder die Datei oder verwenden Sie useradd -D
Werte übergeben.
Beispiel zum Ändern der Login-Shell von /bin/bash
nach /bin/zsh
sudo useradd -D -s /bin/zsh
Lassen Sie uns überprüfen, ob es aktualisiert wurde:
$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh
15. Löschen eines Benutzers aus Linux
Um einen Benutzer zu löschen, verwenden Sie userdel
Befehl:
sudo userdel citizixfive
16. Hinzufügen einer Gruppe unter Linux
Um eine Gruppe manuell zu erstellen, verwenden Sie den Befehl.
Dadurch wird eine Gruppe sftp-users
erstellt in unserem System:
sudo groupadd sftp-users
Lassen Sie uns bestätigen, dass die Gruppe erstellt wurde
$ sudo grep sftp-users /etc/group
sftp-users:x:1007:
Verwenden Sie den Befehl -G
für andere Gruppen (-G
fügt den Benutzer einer neuen Gruppe hinzu, behält ihn aber auch in der alten Gruppe (anhängen).
Verwenden Sie die id
Befehl zum Bestätigen
sudo id citizix
17. Benutzergruppe ändern
Um einen Benutzer zu erstellen und seine primäre Gruppe in die angegebene zu ändern, verwenden Sie -g
Möglichkeit:
sudo useradd -g citizix citizixseven
Schlussfolgerung
Wir haben untersucht, wie grundlegende Operationen mit useradd
durchgeführt werden Befehle. Wir haben es geschafft, Benutzer zu erstellen, sie zu Gruppen hinzuzufügen und sie zu ändern oder zu löschen.
Sie können die Hilfeseiten verwenden, um mehr über den Befehl useradd zu erfahren:
man useradd
Um alle Optionen für useradd zu überprüfen, geben Sie den Befehl im Terminal ohne Option ein:
$ useradd
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]
Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-R, --root CHROOT_DIR directory to chroot into
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping