Useradd: Unterschied zwischen den Versionen
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
|||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == 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. | 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. | ||
Zeile 11: | Zeile 9: | ||
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. | 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. | * 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. | * Ebenso wird useradd die Anforderung zur Erstellung eines Benutzerkontos ablehnen, wenn der Benutzername bereits in einer externen Benutzerdatenbank wie NIS oder LDAP vorhanden ist. | ||
Zeile 21: | 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 | ||
Zeile 29: | Zeile 31: | ||
=== Optionen === | === Optionen === | ||
Konfigurationsvariablen in /etc/login.defs ändern das Verhalten von ''useradd'' | |||
{| class="wikitable sortable options“ | {| class="wikitable sortable options“ | ||
|- | |- | ||
! Unix !! GNU !! Parameter || Beschreibung | ! Unix !! GNU !! Parameter || Beschreibung | ||
|- | |- | ||
| || --badname || erlaube Namen, die nicht den Standards entsprechen | | || --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 | | -b || --b || || Das Standard-Basisverzeichnis für das System, wenn -d HOME_DIR nicht angegeben ist. BASE_DIR wird | ||
Zeile 41: | Zeile 44: | ||
in /etc/default/useradd angegeben ist, oder standardmäßig /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 | | -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. | ||
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. | | -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 | ||
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« | | -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 | | -e || --e || || Das Datum, an dem das Benutzerkonto deaktiviert wird. Das Datum wird im Format JJJJ-MM-TT | ||
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) | ||
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 | | -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) | ||
dieses Passwort ersetzen soll. Der Wert wird in der Shadow-Passwortdatei gespeichert. Eine Eingabe | 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 | ||
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 | | -F || --F || || /etc/subuid und /etc/subgid auch dann aktualisieren, wenn ein Systemkonto mit der Option -r erstellt wird | ||
|- | |- | ||
| -g || --g || | | -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 | ||
muss sich auf eine bereits existierende Gruppe beziehen | 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 | ||
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. | | -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 | | -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 | | -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 | ||
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) | | -K || --K || || Überschreibt die Standardwerte von /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS und andere) | ||
Zeile 89: | Zeile 72: | ||
| -l || --l || || lässt den Benutzer bei den Aufzeichnungen von lastlog(8) und faillog(8) außen vor | | -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 | 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 | 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 | | -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 | ||
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 | | -M || --M || || Das Home-Verzeichnis des Benutzers nicht erstellen, selbst wenn die systemweite Einstellung von /etc/login.defs (CREATE_HOME) auf yes gesetzt ist | ||
(CREATE_HOME) auf yes gesetzt ist | |||
|- | |- | ||
| -N || --N || || Keine Gruppe mit demselben Namen wie der Benutzer erstellen, sondern den Benutzer der | | -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 | 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 | ||
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 | | -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 | ||
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 | | -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 | von crypt (3) zurückgegeben. Innerhalb eines Shell-Skripts ermöglicht diese Option die effiziente Erstellung von | ||
Benutzer-Batches | Benutzer-Batches. Ohne diese Option wird das neue Konto gesperrt und es wird kein Passwort definiert, d. h. es wird ein | ||
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 | 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 | 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 | ||
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 | | -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 | ||
. 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. | |||
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. | | -R || --R || || Änderungen im Verzeichnis CHROOT_DIR anwenden und die Konfigurationsdateien aus dem Verzeichnis CHROOT_DIR verwenden. Es werden nur absolute Pfade unterstützt | ||
Es werden nur absolute Pfade unterstützt | |||
|- | |- | ||
| -P || --P || || Änderungen an Konfigurationsdateien im Root-Dateisystem anwenden, das sich im Verzeichnis | | -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 | ||
PREFIX_DIR. Diese Option ist nicht chroot-fähig und dient zur Vorbereitung eines Cross-Compilation-Ziels. | |||
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 | | -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 | ||
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 | | -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 | 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 | als UID_MIN und größer als jeder andere Benutzer ist. Siehe auch die Option -r und die Beschreibung von UID_MAX | ||
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 | | -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 | ||
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 | | -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 | |||
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 | Die Standardwerte verändern | ||
Zeile 182: | Zeile 115: | ||
| -b || --b || || legt das Pfadpräfix für das Home-Verzeichnis eines neuen Benutzers fest. Der Name des Benutzers wird an das | | -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 | 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 | Erstellen eines neuen Kontos. Diese Option setzt die Variable HOME in /etc/default/useradd | ||
|- | |||
Diese Option setzt die Variable | | -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 | ||
Diese Option setzt die Variable | |||
|- | |- | ||
| - | | -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 | ||
Diese Option setzt die Variable | |||
|- | |- | ||
| - | | -s || --s || || definiert die standardmäßige Anmelde-Shell für neue Benutzer. Diese Option setzt die SHELL-Variable in /etc/default/useradd | ||
Diese Option setzt die Variable | |||
|- | |- | ||
|} | |} | ||
Zeile 235: | Zeile 157: | ||
== Konfiguration == | == Konfiguration == | ||
=== Dateien === | === Dateien === | ||
{|class="wikitable | {| class="wikitable sortable options" | ||
|- | |||
! File !! Beschreibung | |||
|- | |- | ||
| /etc/passwd || Informationen zu den Benutzerkonten | | /etc/passwd || Informationen zu den Benutzerkonten | ||
Zeile 247: | Zeile 171: | ||
| /etc/default/useradd || Standardwerte für die Erstellung eines Kontos | | /etc/default/useradd || Standardwerte für die Erstellung eines Kontos | ||
|- | |- | ||
| /etc/shadow-maint/useradd-pre.d/* | | /etc/shadow-maint/useradd-pre.d/*</br>/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/skel/ || Verzeichnis, das die Dateien mit Standardwerten enthält |
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