Was ist der Unterschied zwischen den Befehlen adduserund useraddunter Ubuntu?
Was ist der Unterschied zwischen den Befehlen adduserund useraddunter Ubuntu?
Antworten:
useraddist native Binärdatei, die mit dem System kompiliert wurde. Aber esadduserist ein Perl-Skript, dasuseraddim Back-End Binärdateien verwendet .
adduserist benutzerfreundlicher und interaktiver als das Back-Enduseradd. Die angebotenen Funktionen unterscheiden sich nicht.
Quelle: Was ist der Unterschied zwischen "adduser" und "useradd"?
-mOption 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 deluserbeim 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 delusermöglicherweise nicht in allen Distributionen verfügbar, z. B. unter SuSE.)
Die Befehle useradd, userdelund usermodsind Hilfsprogramme, die aus historischen Gründen zur Verfügung stehen, während adduser/deluserDo The Right Thing ™. (Ich erinnere mich, was ich verwenden soll, indem ich überlege, user*was adduser/deluserim Alphabet nachher kommt und daher "schlimmer" ist.)
Gemäß den jeweiligen Manpages (auf Ubuntu 12.04 Precise Pangolin, dh einem von Debian abgeleiteten System).
addusersagt:(Betonung hinzugefügt.)
adduserundaddgroupfü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,groupaddundusermodProgramme , 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.adduserundaddgroupkann in einem von fünf Modi ausgeführt werden:
useraddsagt:
useraddist 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, useraddweil es immer da ist, nicht interaktiv und nicht distro-spezifisch .
adduseropenSUSE ausprobiert und es ist nicht da. (13.2)
locate adduserein SuSE 11-System bei der Arbeit ausprobierte, stellte ich seltsamerweise fest, dass es eine adduserManpage, aber keine Binärdatei (und weder eine deluserManpage 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
useraddMit dieser -GOption können Sie mehrere zusätzliche Gruppen übergeben, denen Sie einen Benutzer hinzufügen möchten. adduserEs scheint erforderlich zu sein, dass Sie den Befehl einmal für jede Gruppe aufrufen, um ihn hinzuzufügen.
adduserist 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 useraddnur 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 adduserdies nicht immer die -MOption hat und auch nicht die --systemFlagge 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.