Soll ich useradd oder adduser verwenden?

8

Ich versuche, dem System einen neuen Benutzer hinzuzufügen. Ich bin jedoch verwirrt, welchen Befehl ich ausführen soll: useraddoder adduser?

k0pernikus
quelle

Antworten:

12

Gemäß dem Handbuch sollten Sie verwenden adduser:

man useradd

BESCHREIBUNG

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

k0pernikus
quelle
Einverstanden. Zumindest unter CentOS und Debian 9 erstellt useradd kein Home-Verzeichnis
chrips
9

Trotz allem , was für die Man - Page sagt useraddund userdelich immer die Back-End - Binärdateien niedrigen Niveau benutzen useradd, userdel, groupadd, groupdel.

Die Front-End-Skripte sind interaktiv und sollen benutzerfreundlich sein, aber das Gleiche tun. Es ist wirklich eine Frage der persönlichen Präferenz.

In Bezug auf praktische Unterschiede:

useraddund groupaddhaben ähnliche Optionen wie die Befehle usermodund groupmod, und es gibt keine Front-End-Skripte für diese Befehle (dh keine moduseroder modgroupFront-End-Skripte), so dass es konsistenter ist, ähnliche Befehle für die Kontoführung zu verwenden.

Für die Standardeinstellungen gibt es verschiedene Konfigurationsdateien, z. B. Benutzer-IDs, Shells, Anmeldegruppen usw. Stellen Sie also sicher, dass Sie wissen, welche Sie bearbeiten, um die Einstellungen zu ändern.

Die Front-End-Skripte "schützen" Sie vor der Eingabe dummer Namen, es sei denn, Sie geben die --force-badnameOption an. Zum Beispiel Benutzernamen oder Gruppennamen, die Sonderzeichen enthalten oder mit einer Zahl beginnen. Es ist unwahrscheinlich, dass dies versehentlich geschieht, sodass der "Schutz" nicht erforderlich ist.

Die Front-End-Skripte "schützen" Sie auch vor dem Löschen des Root-Kontos, es sei denn, Sie verwenden das --force option. Warum jemand versuchen würde, dies zu nutzen, weiß ich nicht. Es ist auch erwähnenswert, dass Sie ein Benutzerkonto nicht entfernen können, wenn Prozesse ausgeführt werden und immer Prozesse als Root ausgeführt werden. Dies sollte daher trotzdem fehlschlagen.

(Ich hatte jedoch nie den Mut, es zu versuchen.)

Nur der Front-End-Skript-Adduser kann das Home-Verzeichnis verschlüsseln.

Es gibt jedoch einige Dinge, die die benutzerfreundlichen Skripte nicht können, und Sie müssten auf die Binärbefehle zurückgreifen, obwohl dies Dinge sind, die Sie normalerweise nicht tun müssten:

  • useradd kann den Standardwert des Skeleton-Ausgangsverzeichnisses überschreiben, ohne die Konfigurationsdatei bearbeiten oder eine neue Konfigurationsdatei erstellen zu müssen. Siehe die -kOption.

  • Mit der Option kann useradd verhindern, dass der neu erstellte Benutzer zur Lastlog-Datenbank hinzugefügt wird -l.

  • useradd und groupadd können mit dieser -oOption Konten mit nicht eindeutigen UIDs bzw. GIDs erstellen . Die Skripte bieten diese Funktion nicht.

  • useradd kann mit der -ZOption einen neuen Benutzer mit einer Selinux-Zuordnung erstellen, wenn Selinux auf dem System aktiviert ist . Dies kann jedoch auch mit anderen Befehlen erfolgen, sobald das Konto erstellt wurde, wie z . B. semanageoder usermod.

  • Schließlich und vielleicht am wichtigsten ist, dass nur die Binärbefehle auf alternativen Systemen in einem alternativen Stammverzeichnis ausgeführt werden können, z. B. /snap/coremithilfe der -ROption.

ein anderer Mann
quelle
1
Und wenn Sie sich an useradddie Syntax halten und diese lernen, sind Sie nicht an Debian gebunden. Sie können useraddauf so ziemlich jeder Distribution finden (sie ist als Teil der shadow/ der shadow-utilsmeisten Zeit verpackt, die standardmäßig installiert sind), daher sind Skripte, die sie verwenden, portabler. (+1)
gro♀