Linux ist ein Mehrbenutzersystem, was bedeutet, dass mehr als eine Person gleichzeitig mit demselben System interagieren kann. Als Systemadministrator sind Sie dafür verantwortlich, die Benutzer und Gruppen des Systems zu verwalten, indem Sie Benutzer erstellen und entfernen und sie verschiedenen Gruppen zuweisen.
In diesem Artikel werden wir darüber sprechen, wie Sie neue Benutzerkonten mit useradd
erstellen Befehl.
useradd
Befehl #
Die allgemeine Syntax für useradd
Befehl lautet wie folgt:
useradd [OPTIONS] USERNAME
Nur root oder Benutzer mit sudo-Privilegien können useradd
verwenden Befehl zum Erstellen neuer Benutzerkonten.
Beim Aufruf useradd
erstellt ein neues Benutzerkonto gemäß den in der Befehlszeile angegebenen Optionen und den in /etc/default/useradd
festgelegten Standardwerten Datei.
Die in dieser Datei definierten Variablen unterscheiden sich von Distribution zu Distribution, was zu useradd
führt Befehl, um auf verschiedenen Systemen unterschiedliche Ergebnisse zu erzeugen.
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.
So erstellen Sie einen neuen Benutzer unter Linux #
Um ein neues Benutzerkonto zu erstellen, rufen Sie useradd
auf Befehl gefolgt vom Namen des Benutzers.
Zum Beispiel, um einen neuen Benutzer namens username
zu erstellen Sie würden Folgendes ausführen:
sudo useradd username
Bei Ausführung ohne Option useradd
erstellt ein neues Benutzerkonto unter Verwendung der in /etc/default/useradd
angegebenen Standardeinstellungen Datei.
Der Befehl fügt einen Eintrag zu /etc/passwd
hinzu , /etc/shadow,
/etc/group
und /etc/gshadow
Dateien.
Um sich als neu erstellter Benutzer anmelden zu können, müssen Sie das Benutzerkennwort festlegen. Führen Sie dazu passwd
aus Befehl gefolgt vom Benutzernamen:
sudo passwd username
Sie werden aufgefordert, das Passwort einzugeben und zu bestätigen. Stellen Sie sicher, dass Sie ein sicheres Passwort verwenden.
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Wie man einen neuen Benutzer hinzufügt und ein Home-Verzeichnis erstellt #
Bei den meisten Linux-Distributionen beim Erstellen eines neuen Benutzerkontos mit useradd
, das Home-Verzeichnis des Benutzers wird nicht erstellt.
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. Wenn Sie die Dateien in /home/username
auflisten Verzeichnis sehen Sie die Initialisierungsdateien:
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23 .
drwxr-xr-x 4 root root 4096 Dec 11 11:23 ..
-rw-r--r-- 1 username username 220 Apr 4 2018 .bash_logout
-rw-r--r-- 1 username username 3771 Apr 4 2018 .bashrc
-rw-r--r-- 1 username username 807 Apr 4 2018 .profile
Innerhalb des Home-Verzeichnisses kann der Benutzer Dateien und Verzeichnisse schreiben, bearbeiten und löschen.
Erstellen eines Benutzers mit spezifischem Home-Verzeichnis #
Standardmäßig useradd
erstellt das Home-Verzeichnis des Benutzers in /home
. Wenn Sie das Home-Verzeichnis des Benutzers an einem anderen Ort erstellen möchten, verwenden Sie den d
(--home
)-Option.
Hier ist ein Beispiel, das zeigt, wie Sie einen neuen Benutzer namens username
erstellen mit einem Home-Verzeichnis von /opt/username
:
sudo useradd -m -d /opt/username username
Erstellen eines Benutzers mit einer bestimmten Benutzer-ID #
In Linux- und Unix-ähnlichen Betriebssystemen werden Benutzer durch eindeutige UID und Benutzernamen identifiziert.
Die Benutzerkennung (UID) ist eine eindeutige positive Ganzzahl, die jedem Benutzer vom Linux-System zugewiesen wird. Die UID und andere Zugriffssteuerungsrichtlinien werden verwendet, um die Arten von Aktionen zu bestimmen, die ein Benutzer auf Systemressourcen ausführen kann.
Wenn ein neuer Benutzer erstellt wird, weist das System standardmäßig die nächste verfügbare UID aus dem Bereich der Benutzer-IDs zu, die in login.defs
angegeben sind Datei.
Rufen Sie useradd
auf mit dem -u
(--uid
) Option zum Erstellen eines Benutzers mit einer bestimmten UID. Zum Beispiel, um einen neuen Benutzer namens username
zu erstellen mit UID von 1500
Sie würden Folgendes eingeben:
sudo useradd -u 1500 username
Sie können die UID des Benutzers mit id
überprüfen Befehl:
id -u username
1500
Erstellen eines Benutzers mit einer bestimmten Gruppen-ID #
Linux-Gruppen sind Organisationseinheiten, die zum Organisieren und Verwalten von Benutzerkonten in Linux verwendet werden. Der Hauptzweck von Gruppen besteht darin, eine Reihe von Berechtigungen wie Lese-, Schreib- oder Ausführungsberechtigungen für eine bestimmte Ressource zu definieren, die von den Benutzern innerhalb der Gruppe gemeinsam genutzt werden können.
Beim Anlegen eines neuen Benutzers ist das Standardverhalten von useradd
Der Befehl besteht darin, eine Gruppe mit dem gleichen Namen wie der Benutzername und der gleichen GID wie die UID zu erstellen.
Das -g
(--gid
)-Option können Sie einen Benutzer mit einer bestimmten anfänglichen Login-Gruppe erstellen. Sie können entweder den Gruppennamen oder die GID-Nummer angeben. Der Gruppenname oder die GID muss bereits existieren.
Das folgende Beispiel zeigt, wie Sie einen neuen Benutzer namens username
erstellen und legen Sie die Login-Gruppe auf users
fest Typ:
sudo useradd -g users username
Um die GID des Benutzers zu überprüfen, verwenden Sie die id
Befehl:
id -gn username
users
Erstellen eines Benutzers und Zuweisen mehrerer Gruppen #
Es gibt zwei Arten von Gruppen in Linux-Betriebssystemen Primäre Gruppe und Sekundäre (oder zusätzliche) Gruppe. Jeder Benutzer kann genau einer primären Gruppe und keiner oder mehreren sekundären Gruppen angehören.
Mit dem -G
geben Sie eine Liste zusätzlicher Gruppen an, denen der Benutzer angehört (--groups
)-Option.
Der folgende Befehl erstellt einen neuen Benutzer namens username
mit der primären Gruppe users
und Nebengruppen wheel
und docker
.
sudo useradd -g users -G wheel,developers username
Sie können die Benutzergruppen überprüfen, indem Sie
eingebenid username
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)
Erstellen eines Benutzers mit spezifischer Anmelde-Shell #
Standardmäßig ist die Anmelde-Shell des neuen Benutzers auf die in /etc/default/useradd
angegebene eingestellt Datei. In einigen Distributionen ist die Standard-Shell auf /bin/sh
eingestellt während es in anderen auf /bin/bash
gesetzt ist .
Das -s
(--shell
)-Option können Sie die Login-Shell des neuen Benutzers angeben.
Zum Beispiel, um einen neuen Benutzer namens username
zu erstellen mit /usr/bin/zsh
Geben Sie als Login-Shell Folgendes ein:
sudo useradd -s /usr/bin/zsh username
Überprüfen Sie den Benutzereintrag in /etc/passwd
Datei, um die Login-Shell des Benutzers zu überprüfen:
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
Erstellen eines Benutzers mit benutzerdefiniertem Kommentar #
Das -c
(--comment
) Option können Sie eine kurze Beschreibung für den neuen Benutzer hinzufügen. Normalerweise werden der vollständige Name des Benutzers oder die Kontaktinformationen als Kommentar hinzugefügt.
Im folgenden Beispiel erstellen wir einen neuen Benutzer namens username
mit der Textzeichenfolge Test User Account
als Kommentar:
sudo useradd -c "Test User Account" username
Der Kommentar wird in /etc/passwd
gespeichert Datei:
grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh
Das Kommentarfeld wird auch als GECOS
bezeichnet .
Erstellen eines Benutzers mit einem Ablaufdatum #
Um einen Zeitpunkt festzulegen, zu dem die neuen Benutzerkonten ablaufen, verwenden Sie das -e
(--expiredate
) Möglichkeit. Dies ist nützlich, um temporäre Konten zu erstellen.
Das Datum muss mit dem YYYY-MM-DD
angegeben werden formatieren.
Zum Beispiel, um ein neues Benutzerkonto mit dem Namen username
zu erstellen mit einer auf den 22. Januar 2019 eingestellten Ablaufzeit würden Sie Folgendes ausführen:
sudo useradd -e 2019-01-22 username
Verwenden Sie die chage
Befehl zum Überprüfen des Ablaufdatums des Benutzerkontos:
sudo chage -l username
Die Ausgabe sieht in etwa so aus:
Last password change : Dec 11, 2018
Password expires : never
Password inactive : never
Account expires : Jan 22, 2019
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
Erstellen eines Systembenutzers #
Es gibt keinen wirklichen technischen Unterschied zwischen dem System und normalen (normalen) Benutzern. Normalerweise werden Systembenutzer erstellt, wenn das Betriebssystem und neue Pakete installiert werden.
Verwenden Sie das -r
(--system
) Option zum Erstellen eines Systembenutzerkontos. Zum Beispiel, um einen neuen Systembenutzer mit dem Namen username
zu erstellen Sie würden Folgendes ausführen:
sudo useradd -r username
Systembenutzer werden ohne Ablaufdatum erstellt. Ihre UIDs werden aus dem Bereich der Systembenutzer-IDs ausgewählt, die in login.defs
angegeben sind Datei, die sich von dem Bereich unterscheidet, der für normale Benutzer verwendet wird.
Ändern der standardmäßigen useradd-Werte #
Die Standardoptionen zum Hinzufügen von Benutzern können mit -D
angezeigt und geändert werden , --defaults
Option oder durch manuelles Bearbeiten der Werte in /etc/default/useradd
Datei.
Geben Sie Folgendes ein, um die aktuellen Standardoptionen anzuzeigen:
useradd -D
Die Ausgabe sieht in etwa so aus:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Angenommen, Sie möchten die standardmäßige Anmelde-Shell von /bin/sh
ändern nach /bin/bash
. Geben Sie dazu die neue Shell wie unten gezeigt an:
sudo useradd -D -s /bin/bash
Sie können überprüfen, ob der Standard-Shell-Wert geändert wurde, indem Sie den folgenden Befehl ausführen:
sudo useradd -D | grep -i shell
SHELL=/bin/bash
Schlussfolgerung #
Wir haben Ihnen gezeigt, wie Sie mit useradd
neue Benutzerkonten anlegen Befehl. Dieselben Anweisungen gelten für alle Linux-Distributionen, einschließlich Ubuntu, CentOS, RHEL, Debian, Fedora und Arch Linux.
useradd
ist ein Low-Level-Dienstprogramm, Debian- und Ubuntu-Benutzer können stattdessen den freundlicheren Befehl adduser verwenden.
Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.