Useradd: Unterschied zwischen den Versionen
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
|||
Zeile 23: | Zeile 23: | ||
[[shadow-utils]] | [[shadow-utils]] | ||
== | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1-3" line> | <syntaxhighlight lang="bash" highlight="1-3" line> | ||
useradd [options] LOGIN | useradd [options] LOGIN |
Aktuelle Version vom 12. November 2024, 19:38 Uhr
useradd - erstellt einen neuen Benutzer oder aktualisiert die Standardwerte für neue Benutzer
Beschreibung
Wenn der Befehl useradd ohne die Option -D aufgerufen wird, erstellt er ein neues Benutzerkonto unter Verwendung der in der Befehlszeile angegebenen Werte sowie der Standardwerte des Systems. Je nach den Befehlszeilenoptionen aktualisiert der Befehl useradd Systemdateien und erstellt möglicherweise auch das Home-Verzeichnis des neuen Benutzers und kopiert erste Dateien.
Standardmäßig wird auch eine Gruppe für den neuen Benutzer erstellt (siehe -g, -N, -U und USERGROUPS_ENAB).
- Anmerkung
Der Systemadministrator ist dafür verantwortlich, die Standardbenutzerdateien im Verzeichnis /etc/skel/ (oder einem anderen in /etc/default/useradd oder in der Befehlszeile angegebenen Skelettverzeichnis) abzulegen.
- Hinweis
- useradd ist ein Low-Level-Dienstprogramm zum Hinzufügen von Benutzern.
- Unter Debian sollten Administratoren stattdessen adduser(8) verwenden.
Warnungen
- Sie dürfen einer NIS- oder LDAP-Gruppe keine Benutzer hinzufügen. Dies muss auf dem entsprechenden Server durchgeführt werden.
- Ebenso wird useradd die Anforderung zur Erstellung eines Benutzerkontos ablehnen, wenn der Benutzername bereits in einer externen Benutzerdatenbank wie NIS oder LDAP vorhanden ist.
- Benutzernamen dürfen nur Groß- und Kleinbuchstaben, Ziffern, Unterstriche oder Bindestriche enthalten. Sie können mit einem Dollarzeichen enden. Bindestriche sind am Anfang des Benutzernamens nicht erlaubt. Benutzernamen, die nur aus Ziffern bestehen, sowie Benutzernamen . oder .. sind ebenfalls nicht zulässig. Es wird davon abgeraten, Benutzernamen zu verwenden, die mit dem Zeichen . beginnen, da ihre Home-Verzeichnisse in der Ausgabe von ls verborgen werden.
- Benutzernamen dürfen nur bis zu 256 Zeichen lang sein.
- Unter Debian dürfen Benutzernamen weder mit einem Bindestrich ('-'), Pluszeichen ('+'), Tilde ('~') beginnen, noch einen Doppelpunkt (':'), ein Komma (','), oder ein Leerzeichen (Leerzeichen: ' ', Zeilenende: '\n', Tabulator: '\t', usw.) enthalten. Beachten Sie, dass die Verwendung eines Schrägstrichs ('/') den Standardalgorithmus für die Definition des Home-Verzeichnisses des Benutzers unterbrechen kann.
Installation
Aufruf
useradd [options] LOGIN
useradd -D
useradd -D [options]
Optionen
Konfigurationsvariablen in /etc/login.defs ändern das Verhalten von useradd
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
--badname | erlaube Namen, die nicht den Standards entsprechen | ||
-b | --b | Das Standard-Basisverzeichnis für das System, wenn -d HOME_DIR nicht angegeben ist. BASE_DIR wird
mit dem Kontonamen verbunden, um das Home-Verzeichnis zu definieren. Wenn diese Option nicht angegeben wird, verwendet useradd das Basisverzeichnis, das durch die Variable HOME in /etc/default/useradd angegeben ist, oder standardmäßig /home | |
-c | --c | Beliebige Textzeichenfolge. In der Regel handelt es sich um eine kurze Beschreibung des Kontos, die derzeit als Feld für den vollständigen Namen des Benutzers verwendet wird. | |
-d | --d | Der neue Benutzer wird mit HOME_DIR als Wert für das Anmeldeverzeichnis des Benutzers erstellt. Standardmäßig wird der LOGIN-Name an BASE_DIR angehängt und als Name des Anmeldeverzeichnisses verwendet. Wenn das Verzeichnis HOME_DIR nicht existiert, wird es erstellt, es sei denn, die Option -M ist angegeben | |
-D | --D | Lesen Sie dazu unten den Abschnitt »Die Standardwerte verändern« | |
-e | --e | Das Datum, an dem das Benutzerkonto deaktiviert wird. Das Datum wird im Format JJJJ-MM-TT
Wenn nicht angegeben, verwendet useradd das standardmäßige Ablaufdatum, das durch die EXPIRE-Variable in /etc/default/useradd angegeben ist, oder standardmäßig eine leere Zeichenkette (kein Ablauf) | |
-f | --f | legt die Anzahl der Tage fest, nach denen das Passwort sein maximales Alter überschritten hat und der Benutzer dieses Passwort ersetzen soll. Der Wert wird in der Shadow-Passwortdatei gespeichert. Eine Eingabe von 0 deaktiviert ein abgelaufenes Passwort ohne Verzögerung. Eine Eingabe von -1 löscht das entsprechende Feld in der Shadow-Passwortdatei. Weitere Informationen finden Sie unter shadow(5)
Wenn nichts angegeben wird, verwendet useradd die Standard-Inaktivitätsperiode, die durch die Variable INACTIVE in /etc/default/useradd angegeben wird, oder standardmäßig -1 | |
-F | --F | /etc/subuid und /etc/subgid auch dann aktualisieren, wenn ein Systemkonto mit der Option -r erstellt wird | |
-g | --g | Der Name oder die Nummer der primären Gruppe des Benutzers. Der Gruppenname muss existieren. Eine Gruppennummer muss sich auf eine bereits existierende Gruppe beziehen. Wenn keine Angabe erfolgt, hängt das Verhalten von useradd von der Variable USERGROUPS_ENAB in /etc/login.defs ab. Wenn diese Variable auf yes gesetzt ist (oder -U/--user-group in der Befehlszeile angegeben), wird für den Benutzer eine Gruppe mit dem gleichen Namen wie sein Anmeldename erstellt. Wenn
die Variable auf no gesetzt ist (oder -N/--no-user-group in der Befehlszeile angegeben ist), legt useradd die primäre Gruppe des neuen Benutzers auf den Wert fest, der durch die GROUP-Variable in /etc/default/useradd angegeben ist, oder standardmäßig auf 100 | |
-G | --G | Eine Liste zusätzlicher Gruppen, denen der Benutzer ebenfalls angehört. Die einzelnen Gruppen werden durch Kommata ohne Leerzeichen voneinander getrennt. Für diese Gruppen gelten dieselben Einschränkungen wie für die mit der Option -g angegebene Gruppe. Standardmäßig gehört der Benutzer nur der ursprünglichen Gruppe an. Zusätzlich zur Übergabe des Flags -G können Sie die Option GROUPS zur Datei /etc/default/useradd hinzufügen, wodurch wiederum alle Benutzer zu diesen zusätzlichen Gruppen hinzugefügt werden. | |
-h | --h | zeigt die Hilfe an und beendet das Programm | |
-k | --k | Das Skelettverzeichnis, das Dateien und Verzeichnisse enthält, die in das Home-Verzeichnis des Benutzers kopiert werden, wenn das Home-Verzeichnis von useradd erstellt wird. Diese Option ist nur gültig, wenn die Option -m (oder --create-home) angegeben ist. Wenn diese Option nicht festgelegt ist, wird das Skelettverzeichnis durch die SKEL-Variable in /etc/default/useradd oder standardmäßig durch /etc/skel definiert. Bei absoluten symbolischen Links, die auf das skel-Verzeichnis verweisen, wird das Präfix /etc/skel durch das Home-Verzeichnis des Benutzers ersetzt. Soweit möglich, werden die ACLs und erweiterten Attribute kopiert | |
-K | --K | Überschreibt die Standardwerte von /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS und andere)
Beispiel: -K PASS_MAX_DAYS =-1 kann beim Erstellen eines Kontos verwendet werden, um die Kennwortalterung zu deaktivieren. Es können mehrere -K-Optionen angegeben werden, z. B.: -K UID_MIN =100 -K UID_MAX=499 | |
-l | --l | lässt den Benutzer bei den Aufzeichnungen von lastlog(8) und faillog(8) außen vor
Standardmäßig werden die Benutzereinträge in den Datenbanken für lastlog und faillog zurückgesetzt, um zu vermeiden, dass der Eintrag eines früher gelöschten Benutzers erneut verwendet wird Wenn diese Option nicht angegeben ist, wird useradd auch die Variable LOG_INIT in der Datei /etc/default/useradd abfragen. Wenn diese auf no gesetzt ist, wird der Benutzer nicht zu den Datenbanken lastlog und faillog hinzugefügt | |
-m | --m | Das Home-Verzeichnis des Benutzers erstellen, falls es nicht vorhanden ist. Die Dateien und Verzeichnisse, die im Skelettverzeichnis enthalten sind (das mit der Option -k definiert werden kann), werden in das Home-Verzeichnis kopiert. Wenn diese Option nicht angegeben und CREATE_HOME nicht aktiviert ist, werden standardmäßig keine Verzeichnisse erstellt. Das Verzeichnis, in dem das Home-Verzeichnis des Benutzers erstellt wird, muss vorhanden sein und über einen ordnungsgemäßen SELinux-Kontext und entsprechende Berechtigungen verfügen. Andernfalls kann das Home-Verzeichnis des Benutzers nicht erstellt werden oder darauf zugegriffen werden | |
-M | --M | Das Home-Verzeichnis des Benutzers nicht erstellen, selbst wenn die systemweite Einstellung von /etc/login.defs (CREATE_HOME) auf yes gesetzt ist | |
-N | --N | Keine Gruppe mit demselben Namen wie der Benutzer erstellen, sondern den Benutzer der
durch die Option -g oder durch die Variable GROUP in /etc/default/useradd. Das Standardverhalten (wenn die Optionen -g, -N und -U nicht angegeben werden) wird durch die Variable USERGROUPS_ENAB in /etc/login.defs | |
-o | --o | ermöglicht die Erstellung eines Kontos mit einer bereits vorhandenen UID. Diese Option ist nur in Kombination mit der Option -u gültig. Da eine Benutzeridentität als Schlüssel, um einerseits Benutzer und Berechtigungen, Dateibesitz und andere Aspekte, die das Systemverhalten bestimmen, andererseits abzubilden, kann mehr als ein Anmeldename auf das Konto der angegebenen UID | |
-p | --p | definiert ein anfängliches Passwort für das Konto. PASSWORD wird voraussichtlich verschlüsselt sein, wie
von crypt (3) zurückgegeben. Innerhalb eines Shell-Skripts ermöglicht diese Option die effiziente Erstellung von Benutzer-Batches. Ohne diese Option wird das neue Konto gesperrt und es wird kein Passwort definiert, d. h. es wird ein einzelnes Ausrufezeichen in das entsprechende Feld von /etc/shadow eingefügt. In diesem Zustand kann der Benutzer nicht auf das Konto zugreifen oder selbst ein Passwort definieren. Hinweis: Vermeiden Sie diese Option in der Befehlszeile, da das Passwort (oder das verschlüsselte Passwort) für Benutzer sichtbar ist, die die Prozesse auflisten. Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems entspricht | |
-r | --r | erstellt ein Systemkonto. Systembenutzer werden ohne Alterungsinformationen in /etc/shadow erstellt und ihre numerischen Kennungen werden im Bereich SYS_UID_MIN-SYS_UID_MAX gewählt, der in /etc/login.defs definiert ist, anstelle von UID_MIN-UID_MAX (und ihren GID-Entsprechungen für die Erstellung von Gruppen). Beachten Sie, dass useradd für solche Benutzer kein Home-Verzeichnis erstellt, unabhängig von der Standardeinstellung in /etc/login.defs (CREATE_HOME). Sie müssen die Option -m angeben, wenn Sie möchten, dass ein Home-Verzeichnis für ein Systemkonto erstellt wird. Beachten Sie, dass diese Option /etc/subuid und /etc/subgid nicht aktualisiert. Sie müssen die Option -F angeben angeben, wenn Sie die Dateien für ein zu erstellendes Systemkonto aktualisieren möchten | |
-R | --R | Änderungen im Verzeichnis CHROOT_DIR anwenden und die Konfigurationsdateien aus dem Verzeichnis CHROOT_DIR verwenden. Es werden nur absolute Pfade unterstützt | |
-P | --P | Änderungen an Konfigurationsdateien im Root-Dateisystem anwenden, das sich im Verzeichnis PREFIX_DIR. Diese Option ist nicht chroot-fähig und dient zur Vorbereitung eines Cross-Compilation-Ziels. Einige Einschränkungen: NIS- und LDAP-Benutzer/Gruppen werden nicht überprüft. Die PAM-Authentifizierung verwendet die Hostdateien. Keine SELINUX-Unterstützung | |
-s | --s | legt den Pfad zur Anmelde-Shell des Benutzers fest. Ohne diese Option verwendet das System die in /etc/default/useradd angegebene Variable oder, wenn diese ebenfalls nicht festgelegt ist, das Feld für die Anmeldeshell in /etc/passwd bleibt leer | |
-u | --u | Der numerische Wert der Benutzerkennung. Dieser Wert muss eindeutig sein, es sei denn, die Option -o wird
verwendet. Der Wert darf nicht negativ sein. Standardmäßig wird der kleinste ID-Wert verwendet, der größer als UID_MIN und größer als jeder andere Benutzer ist. Siehe auch die Option -r und die Beschreibung von UID_MAX | |
-U | --U | erstellt eine Gruppe mit dem gleichen Namen wie der Benutzer und fügt diesen der Gruppe hinzu. Das Standardverhalten (wenn die Optionen -g, -N und -U nicht angegeben sind) wird durch die Variable USERGROUPS_ENAB in /etc/login.defs definiert | |
-Z | --Z | definiert den SELinux-Benutzer für das neue Konto. Ohne diese Option verwendet SELinux den Standardbenutzer. Beachten Sie, dass das Shadow-System den selinux-Benutzer nicht speichert, sondern dafür semanage(8) verwendet | |
--selinux-range | SERANGE | definiert den SELinux-MLS-Bereich für das neue Konto. Ohne diese Option verwendet SELinux den Standardbereich. Beachten Sie, dass das Schattensystem den selinux-Bereich nicht speichert, sondern semanage(8) dafür verwendet. Diese Option ist nur gültig, wenn die Option -Z (oder --selinux-user) angegeben ist
Die Standardwerte verändern Wenn useradd nur mit der Option -D aufgerufen wird, zeigt es die aktuellen Standardwerte an. Wenn useradd mit -D und anderen Optionen aufgerufen wird, aktualisiert es die Standardwerte für die angegebenen Optionen. Gültige Optionen zur Änderung der Standardwerte sind: | |
-b | --b | legt das Pfadpräfix für das Home-Verzeichnis eines neuen Benutzers fest. Der Name des Benutzers wird an das
Ende von BASE_DIR angehängt, um den Namen des Home-Verzeichnisses des neuen Benutzers zu bilden, wenn die Option -d beim Erstellen eines neuen Kontos. Diese Option setzt die Variable HOME in /etc/default/useradd | |
-e | --e | legt das Datum fest, an dem neu erstellte Benutzerkonten deaktiviert werden. Diese Option setzt die Variable EXPIRE in /etc/default/useradd | |
-f | --f | legt die Anzahl der Tage fest, nach denen das Kennwort sein maximales Alter überschritten hat und der Benutzer dieses Kennwort ersetzen soll. Weitere Informationen finden Sie unter shadow(5). Diese Option setzt die Variable INACTIVE in /etc/default/useradd | |
-g | --g | legt die standardmäßige primäre Gruppe für neu erstellte Benutzer fest, wobei Gruppennamen oder eine numerische Gruppen-ID akzeptiert werden. Die benannte Gruppe muss existieren und die GID muss einen vorhandenen Eintrag haben. Diese Option setzt die Variable GROUP in /etc/default/useradd | |
-s | --s | definiert die standardmäßige Anmelde-Shell für neue Benutzer. Diese Option setzt die SHELL-Variable in /etc/default/useradd |
Parameter
Umgebungsvariablen
Exit-Status
0 | Erfolg |
1 | Passwortdatei kann nicht aktualisiert werden |
2 | ungültige Befehlssyntax |
3 | ungültiges Argument für Option |
4 | UID wird bereits verwendet (und kein -o) |
6 | angegebene Gruppe existiert nicht |
9 | Benutzername oder Gruppenname wird bereits verwendet |
10 | Gruppendatei kann nicht aktualisiert werden |
12 | Home-Verzeichnis kann nicht erstellt werden |
14 | SELinux-Benutzerzuordnung kann nicht aktualisiert werden |
Anwendung
Problembehebung
Konfiguration
Dateien
File | Beschreibung |
---|---|
/etc/passwd | Informationen zu den Benutzerkonten |
/etc/shadow | geschützte Informationen zu den Benutzerkonten |
/etc/group | Informationen zu den Gruppenkonten |
/etc/gshadow | geschützte Informationen zu den Gruppenkonten |
/etc/default/useradd | Standardwerte für die Erstellung eines Kontos |
/etc/shadow-maint/useradd-pre.d/* /etc/shadow-maint/useradd-post.d/* |
Run-part-Dateien, die beim Hinzufügen von Benutzern ausgeführt werden. Die Umgebungsvariable ACTION wird mit useradd und SUBJECT mit dem Benutzernamen gefüllt. useradd-pre.d wird vor dem Hinzufügen eines Benutzers ausgeführt. useradd-post.d wird nach dem Hinzufügen eines Benutzers ausgeführt. Wenn ein Skript mit einem Wert ungleich Null beendet wird, wird die Ausführung beendet |
/etc/skel/ | Verzeichnis, das die Dateien mit Standardwerten enthält |
/etc/subgid | enthält untergeordnete Gruppenkennungen der einzelnen Benutzer |
/etc/subuid | enthält untergeordnete Benutzerkennungen der einzelnen Benutzer |
/etc/login.defs | konfiguriert die Shadow-Hilfsprogramme |
Anhang
Siehe auch
Dokumentation
Man-Page
- chfn(1)
- chsh(1)
- passwd(1)
- crypt(3)
- groupadd(8)
- groupdel(8)
- groupmod(8)
- login.defs(5)
- newusers(8)
- subgid(5)
- subuid(5)
- userdel(8)
- usermod(8)
Info-Seiten
Links
Projekt
Weblinks