Frage Was ist der Unterschied zwischen adduser und useradd?


Was ist der Unterschied zwischen den Befehlen? adduser und useradd auf Ubuntu?


365
2017-09-15 20:32


Ursprung


Selbe Frage auf Super User und auf Serverfehler - ændrük
und auch weiter Unix-Stapelaustausch (ziemlich detaillierte Antwort) - xealits


Antworten:


useradd ist native binäre mit dem System kompiliert. Aber, adduser ist   ein Perl-Skript, das verwendet useradd binär im Backend.

adduser ist benutzerfreundlicher und interaktiver als sein Backend    useradd. Es gibt keinen Unterschied in den bereitgestellten Funktionen.

Quelle: Was ist der Unterschied zwischen "adduser" und "useradd"?


320
2017-09-15 20:56



add useradd Befehl wird nicht erstellen '/ home / username' Verzeichnis aber adduser Befehl wird - Deepen
useradd mit dem -m Option wird das Home-Verzeichnis erstellen. - richsinn
Die Implementation ist nicht so interessant, die Semantik ist es. Mögen adduser(8) ist benutzerfreundlicher und erstellt und richtet einen Benutzer standardmäßig so ein, wie Sie es erwarten. Und useradd(8) tue nur, was du fragst, also willst du ein Home-Verzeichnis erstellt haben, musst du es dir sagen, um es für dich zu erstellen. - Anders
Ich muss das jedes Mal googeln ... Wie kann ich mir helfen, mich zu erinnern, welches was ist? - Quentin Skousen
@kkhugs für mich "adduser" fühlt sich am intuitivsten an, weil es ein Befehl ist, der wie Englisch klingt, während der andere semantisch nicht funktioniert. Wenn Sie sich daran erinnern, dass es das "Intuitivste" der beiden ist, können Sie auch versuchen, es als das bevorzugte / leichtere zu merken. - pzkpfw


Verwenden Sie immer adduser (und deluser beim Löschen von Benutzern), wenn Sie neue Benutzer über die Befehlszeile erstellen. (Wenn Sie ein Skript schreiben, besonders wenn Sie Portabilität anstreben, sollten Sie stattdessen die Lowlevel-Utilities verwenden - und adduser/deluser ist möglicherweise nicht auf allen Distributionen verfügbar, z.B. auf SuSE.)

Das useradd, userdel und usermod Befehle sind Lowlevel-Utilities, die es aus historischen Gründen gibt, während adduser/deluser Tue das Richtige. (Ich erinnere mich daran, was ich verwenden sollte, indem ich das dachte user* Kommt danach adduser/deluser im Alphabet und ist daher "schlechter".)

Laut den jeweiligen Manpages (auf Ubuntu 12.04 Precise Pangolin, d. H. Einem Debian-Derivatsystem).

Manpage für adduser sagt:

(Betonung hinzugefügt.)

adduser und addgroup Fügen Sie dem System Benutzer und Gruppen entsprechend der Befehlszeile hinzu   Optionen und Konfigurationsinformationen in /etc/adduser.conf. Sie sind freundlicher   Front endet zu den Low-Level-Tools wie useradd, groupadd und usermod Programme,   Standardmäßig wählen Sie Debian-Richtlinien-konforme UID- und GID-Werte und erstellen ein Home   Verzeichnis mit Skelettkonfiguration, Ausführen eines benutzerdefinierten Skripts und anderer Funktionen.    adduser und addgroup kann in einem von fünf Modi ausgeführt werden:

Manpage für useradd sagt:

useradd ist ein Low-Level-Dienstprogramm zum Hinzufügen von Benutzern. Auf Debian sollten Administratoren   normalerweise verwenden adduser(8) stattdessen.

Siehe auch: Was ist der Unterschied zwischen "adduser" und "useradd"? (auf SuperUser)


133
2017-11-24 17:42



Ich kann mich nie erinnern, welches, also das ist mein dummes Mnemonic, wenn es jemand hilft :) "Benutzer" reimt sich auf "Verlierer", und "Verlierer" kommt zuletzt. Also: adduser, deluser. - Mads Skjern
Eigentlich nicht zustimmen auf "Immer Benutzer adduser": Für automatisierte Skripts würde ich bevorzugen useradd weil es immer da, nicht interaktiv und nicht Distro-spezifisch. - Wernight
Ich habe es versucht adduser auf openSUSE, und es ist nicht da. (13.2) - cst1992
@ cst1992 Du hast Recht, ich habe die Antwort bearbeitet, um dies zu reflektieren. Seltsamerweise, als ich es versuchte locate adduser Auf einem SuSE 11 System bei der Arbeit fand ich, dass es ein adduser Manpage, aber keine Binärdatei (und weder a deluser Manpage noch ein Befehl). - zrajm
useradd ist besser, wenn Sie ein echter Systemadministrator sind. Nicht in der Lage zu sein, adduser in einem autonomen Skript zu verwenden, ist ein echter Schwachpunkt. - answerSeeker


adduser: Benutzer mit vollem Profil und Informationen hinzufügen (Pass, Kontingent, Erlaubnis, etc.)

useradd: Benutzer nur mit seinem Namen hinzufügen (wenn Sie einen temporären Benutzer mit nur einem Namen hinzufügen möchten, andere Informationen nicht erforderlich)


14
2017-07-02 11:00



+1 und Willkommen! Ich wählte die Person, die nicht in der Lage war, ihre vorherige Abstimmung zu erklären. Mach weiter! Gute Programmierer steigen immer an die Spitze - (und stimmen nicht ohne Erklärung ab). :) - Ricalsin


adduser ist freundlicher darin, dass es die Heimatordner des Kontos und andere Einstellungen (z. B. automatisches Laden von Systemstatistiken und Benachrichtigungen beim Anmelden) einrichtet, während useradd erstellt nur den Benutzer.


7
2017-09-15 21:05



Falsch. useradd kann das Home-Verzeichnis mit -m erstellen, das Passwort mit -p festlegen, Skelettdateien mit -k erstellen und den Benutzer mit -G zu Gruppen hinzufügen. - ychaouche


Ein paar Unterschiede, die zu bestimmten Szenarien führen, in denen useradd möglicherweise vorzuziehen ist.

  1. In einigen neueren Distributionen, einschließlich Ubuntu 14.4, wird adduser nach Informationen wie Passwort und "gecos" (Daten für den Finger-Befehl) fragen. Dies bedeutet, dass es weniger geeignet sein kann, von einem Skript aus aufzurufen (Kredit: bereits in einem Kommentar von Wernight erwähnt).

    Die Eingabeaufforderungen können unterdrückt werden, indem Sie Nullargumente übergeben:

    adduser --disabled-password --gecos "" USER
    
  2. useradd ermöglicht es Ihnen, mehrere zusätzliche Gruppen zu übergeben, denen Sie einen Benutzer hinzufügen können -G Möglichkeit. adduser Es scheint erforderlich zu sein, dass Sie den Befehl einmal für jede hinzuzufügende Gruppe aufrufen.


7
2017-09-29 21:38



Funktioniert nicht auf Ubuntu 16.04. - answerSeeker


Der grundlegende Unterschied ist, dass "adduser" das Home-Verzeichnis erstellt und dem Verzeichnis, in dem "useradd" keine Home-Verzeichnisse und Skeleton-Dateien erstellt, Skelettdateien hinzufügt!

adduser versuchen:

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

useradd try1:

# 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#

3
2017-10-26 14:10



Falsch. Sehen vorheriger Kommentar - ychaouche