Neben dem weiter verbreiteten useradd
enthalten Debian-basierte Systeme auch einen zusätzlichen adduser
Befehl, der eine Schnittstelle auf höherer Ebene zum Hinzufügen von Benutzern und einigen verwandten Aufgaben bereitstellt. Es gibt verschiedene Fragen/Antworten auf anderen SE-Sites, die die grundlegenden Unterschiede zwischen diesen Befehlen beschreiben, zum Beispiel:
- ServerFault – Was ist der Unterschied zwischen „useradd“ und „adduser“?
- Superuser – Was ist der Unterschied zwischen „adduser“ und „useradd“?
- Frag Ubuntu – Was ist der Unterschied zwischen adduser und useradd?
Die meisten Antworten sagen im Wesentlichen, dass adduser
bietet eine schönere Schnittstelle zum interaktiven Hinzufügen von Benutzern, gibt jedoch nicht viele Details darüber an, was passiert, wenn adduser
ausgeführt wird, die nicht mit useradd
verglichen wird . Also:
- Was bedeutet
adduser
tun Sie dasuseradd
nicht? - Welche Befehle muss ich verwenden, um gleichwertige Ergebnisse zu erzielen?
Akzeptierte Antwort:
Zunächst heben die entsprechenden Manpage-Schnipsel die Unterschiede zwischen den beiden Befehlen hervor und geben einen Hinweis darauf, was vor sich geht. Für adduser
:
adduser und addgroup fügen Benutzer und Gruppen gemäß den Befehlszeilenoptionen und Konfigurationsinformationen in /etc/adduser.conf zum System hinzu. Sie sind freundlichere Frontends für
Low-Level-Tools wie useradd-, groupadd- und usermod-Programme, die standardmäßig Debian-richtlinienkonforme UID- und GID-Werte wählen, ein Home-Verzeichnis mit Skelettkonfiguration erstellen, ein benutzerdefiniertes Skript ausführen und andere Funktionen.
Dann für useradd
:
useradd ist ein Low-Level-Dienstprogramm zum Hinzufügen von Benutzern. Unter Debian sollten Administratoren normalerweise stattdessen adduser(8) verwenden.
Weitere Untersuchung von adduser
zeigt, dass es sich um ein Perl-Skript handelt, das eine High-Level-Schnittstelle zu den folgenden Befehlen bereitstellt und somit einige der Funktionen der folgenden Befehle bietet:
useradd
groupadd
passwd
– zum Hinzufügen/Ändern von Benutzerpasswörtern.gpasswd
– zum Hinzufügen/Ändern von Gruppenpasswörtern.usermod
– wird verwendet, um verschiedene benutzerbezogene Parameter zu ändern.chfn
– Wird verwendet, um zusätzliche Informationen über einen Benutzer hinzuzufügen/zu ändern.chage
– Wird verwendet, um die Informationen zum Ablauf des Passworts zu ändern.edquota
– Wird verwendet, um die Festplattennutzungsquoten zu ändern.
Ein grundlegender Lauf des adduser
Befehl lautet wie folgt:
adduser username
Dieser einfache Befehl bewirkt eine Reihe von Dingen:
- Erstellen Sie den Benutzer mit dem Namen
username
. - Erstellen Sie das Home-Verzeichnis des Benutzers (Standard ist
/home/username
und kopieren Sie die Dateien aus/etc/skel
hinein. - Erstellen Sie eine Gruppe mit demselben Namen wie der Benutzer und platzieren Sie den Benutzer darin.
- Nach einem Passwort für den Benutzer fragen.
- Nach zusätzlichen Informationen zum Benutzer fragen.
Das useradd
Das Programm kann das meiste davon erledigen, tut dies jedoch standardmäßig nicht und benötigt zusätzliche Optionen. Einige der Informationen erfordern mehr Befehle:
useradd -m -U username
passwd username
chfn username
Beachten Sie, dass adduser
stellt sicher, dass erstellte UIDs und GIDs der Debian-Richtlinie entsprechen. Erstellen normaler Benutzer mit useradd
Scheint ok zu sein, vorausgesetzt UID_MIN
/UID_MAX
in /etc/login.defs
entspricht der Debian-Richtlinie. Ein Problem ist jedoch, dass Debian einen bestimmten Bereich für Systembenutzer-UIDs angibt, der nur in /etc/adduser.conf
unterstützt zu werden scheint , also naiv einen Systembenutzer mit useradd
hinzufügen und die Angabe einer UID/GUID nicht im richtigen Bereich führt zu ernsthaften Problemen.
Eine weitere häufige Verwendung für adduser
soll das Hinzufügen eines Benutzers zu einer Gruppe vereinfachen. Hier der folgende Befehl:
adduser username newgroup
entspricht dem folgenden usermod
Befehl:
usermod -a -G newgroup username
Der Hauptnachteil von usermod
in diesem Fall ist das Vergessen, die
Append-Option zu übergeben (d.h.:-a
) würde dazu führen, dass der Benutzer aus allen Gruppen entfernt wird
bevor er zu „newgroup“ hinzugefügt wird (d. h.:-G
alleine bedeutet „ersetzen durch“).
Ein Nachteil bei der Verwendung von adduser
Hier können Sie jedoch nur jeweils eine Gruppe angeben.