Was ist der Unterschied zwischen den Befehlen adduser
und useradd
unter Ubuntu?
Was ist der Unterschied zwischen den Befehlen adduser
und useradd
unter Ubuntu?
Antworten:
useradd
ist native Binärdatei, die mit dem System kompiliert wurde. Aber esadduser
ist ein Perl-Skript, dasuseradd
im Back-End Binärdateien verwendet .
adduser
ist benutzerfreundlicher und interaktiver als das Back-Enduseradd
. Die angebotenen Funktionen unterscheiden sich nicht.
Quelle: Was ist der Unterschied zwischen "adduser" und "useradd"?
-m
Option erstellt das Home-Verzeichnis.
adduser(8)
ist benutzerfreundlicher und erstellt und richtet einen Benutzer standardmäßig so ein, wie Sie es erwarten. Und useradd(8)
tun Sie nur das, wonach Sie fragen. Wenn Sie also ein Basisverzeichnis erstellen möchten, müssen Sie es angeben, um es für Sie zu erstellen.
Verwenden Sie immeradduser
(und deluser
beim Löschen von Benutzern), wenn Sie neue Benutzer über die Befehlszeile erstellen. (Wenn Sie ein Skript schreiben, insbesondere wenn Sie Portabilität anstreben, möchten Sie möglicherweise stattdessen die Lowlevel-Dienstprogramme verwenden - und adduser
/ oder sind deluser
möglicherweise nicht in allen Distributionen verfügbar, z. B. unter SuSE.)
Die Befehle useradd
, userdel
und usermod
sind Hilfsprogramme, die aus historischen Gründen zur Verfügung stehen, während adduser/deluser
Do The Right Thing ™. (Ich erinnere mich, was ich verwenden soll, indem ich überlege, user*
was adduser/deluser
im Alphabet nachher kommt und daher "schlimmer" ist.)
Gemäß den jeweiligen Manpages (auf Ubuntu 12.04 Precise Pangolin, dh einem von Debian abgeleiteten System).
adduser
sagt:(Betonung hinzugefügt.)
adduser
undaddgroup
fügen Sie dem System Benutzer und Gruppen gemäß den Befehlszeilenoptionen und Konfigurationsinformationen in hinzu/etc/adduser.conf
. Sie sind freundlicher Frontends auf den Low - Pegel - Tools wieuseradd
,groupadd
undusermod
Programme , die standardmäßig die Wahl Debian - Richtlinien konformes UID und GID - Werte, ein Home - Verzeichnis mit Skelett-Konfiguration Erstellen eines benutzerdefinierten Skript ausgeführt wird , und andere Funktionen.adduser
undaddgroup
kann in einem von fünf Modi ausgeführt werden:
useradd
sagt:
useradd
ist ein Hilfsprogramm für das Hinzufügen von Benutzern. Unter Debian sollten Administratoren normalerweiseadduser(8)
stattdessen verwenden.
Siehe auch: Was ist der Unterschied zwischen "adduser" und "useradd"? (auf SuperUser)
adduser
" einverstanden : Für automatisierte Skripte würde ich es vorziehen, useradd
weil es immer da ist, nicht interaktiv und nicht distro-spezifisch .
adduser
openSUSE ausprobiert und es ist nicht da. (13.2)
locate adduser
ein SuSE 11-System bei der Arbeit ausprobierte, stellte ich seltsamerweise fest, dass es eine adduser
Manpage, aber keine Binärdatei (und weder eine deluser
Manpage noch einen Befehl) gab.
/usr/sbin/adduser -> useradd
adduser
: Benutzer mit vollem Profil und Informationen hinzufügen (Pass, Kontingent, Erlaubnis usw.)
useradd
: Benutzer nur mit seinem Namen hinzufügen (wenn Sie einen temporären Benutzer nur mit einem Namen hinzufügen möchten, andere Informationen nicht erforderlich)
Weitere Unterschiede, die zu bestimmten Szenarien führen, in denen useradd vorzuziehen ist.
In einigen neueren Distributionen, einschließlich Ubuntu 14.4, fordert adduser Informationen wie Passwort und "gecos" (Daten für den Fingerbefehl) an. Dies bedeutet, dass es möglicherweise weniger für den Aufruf aus einem Skript geeignet ist (Kredit: bereits in einem Kommentar von Wernight erwähnt).
Die Eingabeaufforderungen können durch Übergeben von Nullargumenten unterdrückt werden:
adduser --disabled-password --gecos "" USER
useradd
Mit dieser -G
Option können Sie mehrere zusätzliche Gruppen übergeben, denen Sie einen Benutzer hinzufügen möchten. adduser
Es scheint erforderlich zu sein, dass Sie den Befehl einmal für jede Gruppe aufrufen, um ihn hinzuzufügen.
adduser
ist insofern freundlicher, als es die Home-Ordner des Kontos und andere Einstellungen (z. B. das automatische Laden von Systemstatistiken und Benachrichtigungen beim Anmelden) einrichtet, während es useradd
nur den Benutzer erstellt.
Der grundlegende Unterschied ist, dass "adduser" ein Basisverzeichnis erstellt und Skelettdateien zu diesem Verzeichnis hinzufügt, in dem "useradd" keine Basisverzeichnis- und Skelettdateien erstellt!
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
Ich werde auch darauf hinweisen, dass adduser
dies nicht immer die -M
Option hat und auch nicht die --system
Flagge respektiert, die speziell besagt :
Beachten Sie, dass useradd unabhängig von der Standardeinstellung in /etc/login.defs (CREATE_HOME) kein Basisverzeichnis für einen solchen Benutzer erstellt. Sie müssen die Optionen -m angeben, wenn Sie ein Basisverzeichnis für ein Systemkonto erstellen möchten.
Wenn Sie versuchen, einen Systembenutzer ohne Basisverzeichnis zu erstellen, verwenden Sie useradd --system -M
.