Was ist der Unterschied zwischen 'useradd' und 'adduser'?

Antworten:

37

Im Falle von Debian und den damit verbundenen Distributionen ist adduser ein freundlicheres interaktives Frontend für useradd.

Niall Donegan
quelle
7
Es geht nicht um Freundlichkeit, es geht um Gebrauch. Sie können adduser zum interaktiven Hinzufügen eines Kontos oder useradd zum Batch-Hinzufügen von Konten verwenden. useradd hat auch einen interaktiven Modus.
Tkorkunckaya
@tkorkunckaya: Also, welche Verwendung basiert auf Ihrer Beschreibung, wenn useradd auch den interaktiven Modus ausführen kann?
lpapp
useradd hat keinen interaktiven Modus
ychaouche
13

Unter Ubuntu erstellt useradd einfach einen Eintrag in der Benutzerdatenbank (/ etc / passwd usw.).

adduser erstellt andererseits auch ein Ausgangsverzeichnis für den Benutzer, füllt es mit dem Inhalt von / etc / skel und lässt Sie das Kennwort interaktiv festlegen.

Christian
quelle
3
+1. man useradd: "useradd ist ein Hilfsprogramm auf niedriger Ebene zum Hinzufügen von Benutzern. Unter Debian sollten Administratoren stattdessen normalerweise adduser (8) verwenden."
Petrus
Ich glaube, adduser füllt die GECOS-Felder auch interaktiv aus
Michael Lowman
@petrus warum so?
lpapp
useradd kann das Home-Verzeichnis erstellen, ein Passwort festlegen, zu Gruppen hinzufügen, Skelettdateien erstellen und sogar die Shell festlegen.
Ychaouche
13

Immer verwendenadduser (und deluserbeim Löschen von Benutzern).

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 nachkommt und daher "schlechter" ist.)

Gemäß den jeweiligen Manpages (auf Ubuntu 12.04 Precise Pangolin, dh einem von Debian abgeleiteten System).

Manpage für addusersagt:

(Betonung hinzugefügt.)

adduserund addgroupfü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 wie useradd, groupaddund usermodProgramme , 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. adduserund addgroupkann in einem von fünf Modi ausgeführt werden:

Manpage für useraddsagt:

useraddist ein Hilfsprogramm für das Hinzufügen von Benutzern. Unter Debian sollten Administratoren normalerweise adduser(8)stattdessen verwenden.

Siehe auch:

zrajm
quelle
Stimmen Sie dem zu: "Immer adduser verwenden" statt useradd. Dies sollte die akzeptierte Antwort sein!
TwystO
7

lrwxrwxrwx. 1 root root 7. November 17 13:52 / usr / sbin / adduser -> useradd

Eines ist eine "Verknüpfung" / "symbolische Verknüpfung" zum anderen. Also kein Unterschied.

Dies ist unter RedHat Linux (und Centos / Fedora) möglich. Dies gilt möglicherweise nicht für andere Distributionen.

Sirex
quelle
3
Richtig für RH, aber einige Dists wie Ubuntu haben andere Binaries.
Ency
Richtig, ich bearbeite meine Antwort.
Sirex
4
Viele Binärdateien und Skripts ändern ihr Verhalten basierend auf dem Befehlszeilenaufruf.
Jscott
7

Unter FreeBSD:
adduserist eine "benutzerfreundliche" interaktive Frage- und Antwortmethode, mit der lokale Benutzer hinzugefügt werden können.
useraddexistiert nicht.

Chris S
quelle