SYSUSERS.D(5)

BEZEICHNUNG
sysusers.d - Deklarative Zuweisung von Systembenutzern und -gruppen

ÜBERSICHT

/etc/sysusers.d/*.conf

/run/sysusers.d/*.conf

/usr/lib/sysusers.d/*.conf

#Typ Name          Kennung                        GECOS                    Home-Verzeichnis Shell
u    Benutzername  UID                            "Benutzerbeschreibung"  /home/Verz    /Pfad/zur/Shell
u    Benutzername  UID:GID                        "Benutzerbeschreibung"  /home/Verz    /Pfad/zur/Shell
u    Benutzername  /vom/Benutzer/besessene/Datei  "Benutzerbeschreibung"  /home/Verz    /Pfad/zur/Shell
g    Gruppenname   GID
g    Gruppenname   /von/Gruppe/besessene/Datei
m    Benutzername  Gruppenname
r    -             niedrigste-höchste

BESCHREIBUNG

systemd-sysusers verwendet die Dateien aus dem Verzeichnis sysusers.d, um bei der Paketinstallation oder beim Systemstart Systembenutzer und -gruppen zu erzeugen und Benutzer zu Gruppen hinzuzufügen. Dieses Werkzeug kann nur dazu verwandt werden, Systembenutzer und -gruppen zuzuweisen. Es ist nicht für die Erstellung sonstiger (d.h. regulärer, »Menschen-«) Benutzer und Gruppen nützlich, da es direkt auf /etc/passwd und /etc/group zugreift und komplexere Benutzerdatenbanken wie beispielsweise Datenbanken mit Bezug zu NIS oder LDAP umgeht.

KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE

Jede Konfigurationsdatei muss in der Art Paket.conf oder Paket-Teil.conf benannt werden. Die zweite Variante sollte genutzt werden, wenn es wünschenswert ist, es leicht zu machen, nur diesen Teil der Konfiguration außer Kraft zu setzen.

Dateien in /etc/sysusers.d setzen Dateien mit dem gleiche Namen in usr/lib/sysusers.d und /run/sysusers.d außer Kraft. Dateien in /run/sysusers.d setzen Dateien mit dem gleichen Namen in /usr/lib/sysusers.d außer Kraft. Pakete sollten ihre Konfigurationsdateien in /usr/lib/sysusers.d installieren. Dateien in /etc/sysusers.d sind für den lokalen Administrator reserviert, der diese Logik dazu verwenden kann, um die von den Lieferantenpaketen installierten Konfigurationsdateien außer Kraft zu setzen. Alle Konfigurationsdateien werden in lexikographischer Reihenfolge nach ihrem Dateinamen sortiert, unabhängig davon, in welchem Verzeichnis sie sich befinden. Falls mehrere Dateien den gleichen Pfad festlegen, wird der Eintrag mit dem lexikographisch kleinsten Namen angewandt. Alle späteren Einträge für die gleichen Benutzer- und Gruppennamen werden als Warnung protokolliert.

Falls der Administrator eine vom Lieferanten bereitgestellte Konfigurationsdatei deaktivieren möchte, wird empfohlen, einen Symlink auf /dev/null in /etc/sysusers.d/ mit dem gleichen Dateinamen zu legen.

KONFIGURATIONSDATEIFORMAT

Das Dateiformat ist eine Zeile pro Benutzer oder Gruppe, die den Namen, die Kennung, GECOS, Feldbeschreibung, Home-Verzeichnis und die Anmelde-Shell enthält:

    #Typ  Name     Kennung        GECOS                 Home-Verzeichnis Shell
    u     httpd    404            "HTTP-Benutzer"
    u     _authd   /usr/bin/authd "Autorisierungs-Benutzer"
    u     postgres -              "Postgresql-Datenbank" /var/lib/pgsql /libexec/postgresdb
    g     input    -              -
    m     _authd   input
    u     root     0              "Superuser"           /root          /bin/zsh
    r     -        500-900

Leere Zeilen und Zeilen, die mit dem Zeichen »#« beginnen, werden ignoriert und können zur Kommentierung verwandt werden.

  Typ

Der Typ besteht aus einem einzelnen Buchstaben. Die folgenden Zeilentypen werden verstanden:

u
    Erstellt einen Systembenutzer und -gruppe des angegebenen Namens, falls sie noch nicht existieren. Die primäre Gruppe des Benutzers wird auf die Gruppe, die den gleichen Namen trägt, gesetzt, außer das Feld »Kennung« legt diese fest. Das Konto wird bei der Erstellung zunächst deaktiviert, so dass Anmeldungen nicht erlaubt sind.

g
    Erstellt eine Systemgruppe des angegebenen Namens, falls sie noch nicht existiert. Beachten Sie, dass u implizit eine passende Gruppe erstellt. Die Gruppe wird ohne gesetztes Passwort erstellt.

m
    Fügt einen Benutzer zu einer Gruppe hinzu. Falls der Benutzer oder die Gruppe noch nicht existiert, werden sie implizit erstellt.

r
    Fügt einen Bereich von numerischen UIDs/GIDs zu dem Vorrat, aus dem neue UIDs und GIDs zugewiesen werden, hinzu. Falls keine Zeile dieses Typs festgelegt ist, wird der Bereich von UIDs/GIDs auf eine einkompilierte Vorgabe gesetzt. Beachten Sie, dass sowohl UIDs als auch GIDs aus dem gleichen Vorrat zugewiesen werden, um sicherzustellen, dass Benutzer und Gruppen des gleichen Namens wahrscheinlich die gleiche numerische UID und GID tragen.

  Name

Das Namensfeld legt den Benutzer- oder Gruppennamen fest. Der festgelegte Name darf nur aus den Zeichen a-z, A-Z, 0-9, »_« und »-« bestehen, außer beim ersten Zeichen, das eines aus a-z, A-Z und »_« sein muss (d.h. Zahlen und »-« sind als erstes Zeichen nicht erlaubt). Der Benutzer-/Gruppenname muss mindestens ein und maximal 31 Zeichen lang sein.

Für weitere Details über die Syntax der Benutzer-/Gruppennamen, siehe Benutzer-/Gruppennamen-Syntax[1].

Es wird nachdrücklich empfohlen, Benutzer- und Gruppennamen auszuwählen, die sich wahrscheinlich nicht mit von Administratoren erstellten normalen Benutzernamen überschneiden. Ein gutes Schema ist, alle System- und Gruppennamen mit einem Unterstrich zu beginnen und zu allgemeine Namen zu vermeiden.

Für m-Zeilen sollte dieses Feld den Benutzernamen, der zu einer Gruppe hinzugefügt werden soll, enthalten.

Für Zeilen vom Typ r sollte dieses Feld auf »-« gesetzt werden.

  ID

Für u und g, die numerische 32-Bit-UID oder -GID des Benutzers/der Gruppe. Verwenden Sie die Kennungen 65535 und 4294967295 nicht, da sie besondere Platzhalterbedeutungen haben. Geben Sie »-« für die automatische UID/GID-Zuweisung für den Benutzer oder die Gruppe an (dies wird nachdrücklich empfohlen, außer es ist absolut notwendig, eine bestimmte UID oder GID zu verwenden). Geben Sie alternativ einen absoluten Pfad in dem Dateisystem an. In diesem Fall wird die UID/GID von dem Eigentümer/der Gruppe des Pfades ausgelesen. Dies ist nützlich, um Benutzer zu erzeugen, deren UID/GID auf den Eigentümer von bereits existierenden Dateien (wie SUID- oder SGID-Programmen) passen. Die Syntaxen »UID:GID« und »UID:Gruppenname« werden auch unterstützt, um die Erstellung von Benutzern mit bestimmten primären Gruppen zu ermöglichen. Die übergebene Gruppe muss explizit erstellt worden sein oder sie muss bereits existieren. Die Angabe von »-« für die UID in diesen Syntaxen wird auch unterstützt.

Für m-Zeilen sollte dieses Feld den einem Benutzer hinzuzufügenden Gruppennamen enthalten.

Für Zeilen vom Typ r sollte dieses Feld auf einen UID/GID-Bereich im Format »VON-BIS« gesetzt werden, wobei beide Werte als dezimale ASCII-Zahlen formatiert sind. Alternativ kann eine einzelne, als dezimale ASCII-Zahl formatierte UID/GID festgelegt werden.

  GECOS

Eine kurze, beschreibende Zeichenkette für die zu erstellenden Benutzer, eingeschlossen in Anführungszeichen. Beachten Sie, dass dieses Feld keine Doppelpunkte enthalten darf.

Gilt nur für Zeilen vom Typ u und sollte ansonsten nicht gesetzt werden (oder »-«).

  Home-Verzeichnis

Das Home-Verzeichnis für einen neuen Systembenutzer. Falls nicht angegeben, ist das Wurzelverzeichnis die Vorgabe.

Gilt nur für Zeilen vom Typ u und sollte ansonsten nicht gesetzt werden (oder »-«). Es wird empfohlen, dies wegzulassen, außer Software verlangt zwingend, dass ein Home-Verzeichnis gesetzt wird.

systemd-sysusers setzt nur den Home-Verzeichnisdatensatz in der Benutzerdatenbank. Um das Verzeichnis wirklich zu erstellen, sollten Sie ein entsprechendes tmpfiles.d(5)-Fragement hinzufügen.

  Shell

Die Anmelde-Shell des Benutzers. Falls nicht festgelegt, wird dies auf /usr/sbin/nologin gesetzt, außer die UID des Benutzers ist 0, in diesem Fall wird /bin/sh verwandt.

Gilt nur für Zeilen vom Typ u und sollte ansonsten nicht gesetzt werden (oder »-«). Es wird empfohlen, dies wegzulassen, außer eine von /usr/sbin/nologin verschiedene Shell muss verwandt werden.

KENNZEICHNER

Kennzeichner können in den Feldern »Name«, »ID«, »GECOS«, »Home directory« und »Shell« verwandt werden. Ein unbekannter oder nicht auflösbarer Kennzeichner wird als ungültige Konfiguration behandelt. Die folgenden Erweiterungen werden verstanden:

Tabelle 1. Verfügbare Kennzeichner
Kennzeichner | Bedeutung | Details
"%a" | Architektur | Eine kurze Zeichenkette, die die Architektur des lokalen Systems identifiziert. Eine Zeichenkette wie x86, x86-64 oder arm64. Siehe die für ConditionArchitecture= in systemd.unit(5) definierten Architekturen für die vollständige Liste.
"%A" | Betriebssystemabbildversion | Die Betriebssystemabbildversionskennzeichnung des laufenden Systems, wie aus dem Feld IMAGE_VERSION= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%b" | Boot-Kennung | Die Boot-Kennung des laufenden Systems, formatiert als Zeichenkette. Siehe random(4) für weitere Informationen.
"%B" | Betriebssystembaukennung | Die Betriebssystembaukennung des laufenden Systems, wie aus dem Feld BUILD_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es zur leeren Zeichenkette aufgelöst. Siehe os-release(5) für weitere Informationen.
"%H" | Rechnername | Der Rechnername des laufenden Systems.
"%l" | Kurzer Rechnername | Die Rechnername des laufenden Systems, abgeschnitten am ersten Punkt, um alle Domain-Komponenten zu entfernen.
"%m" | Maschinenkennung | Die Maschinenkennung des laufenden Systems, formatiert als Zeichenkette. Siehe machine-id(5) für weitere Informationen.
"%M" | Betriebssystemabbildkennung | Die Betriebssystemabbildkennung des laufenden Systems, wie aus dem Feld IMAGE_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%o" | Betriebssystemkennung | Die Betriebssystemkennung des laufenden Systems, wie aus dem Feld ID= in /etc/os-release ausgelesen. Siehe os-release(5) für weitere Informationen.
"%T" | Verzeichnis für temporäre Dateien | Dies ist entweder /tmp oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist. (Beachten Sie, dass das Verzeichnis ohne abschließenden Schrägstrich angegeben werden kann.)
"%v" | Kernelveröffentlichung | Identisch zur Ausgabe von uname -r.
"%V" | Verzeichnis für größere und dauerhafte temporäre Dateien | Dies ist entweder /var/tmp oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist. (Beachten Sie, dass das Verzeichnis ohne abschließenden Schrägstrich angegeben werden kann.)
"%w" | Betriebssystemversionskennung | Die Betriebssystemversionskennzeichnung des laufenden Systems, wie aus dem Feld VERSION_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%W" | Betriebssystemvariantenkennung | Die Betriebssystemvariantenkennung des laufenden Systems, wie aus dem Feld VARIANT_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%%" | Einzelnes Prozentzeichen | Verwenden Sie »%%« anstelle von »%«, um ein einzelnes Prozentzeichen anzugeben.

IDEMPOTENZ

Beachten Sie, dass systemd-sysusers nichts machen wird, falls der festgelegte Benutzer oder die festgelegte Gruppe bereits existiert oder die Benutzer Mitglieder von festgelegten Gruppen sind; daher gibt es normalerweise keinen Grund, die Lieferantenkonfiguration sysusers.d außer Kraft zu setzen, außer zu verhindern, dass bestimmte Benutzer oder Gruppen erstellt werden.

SIEHE AUCH

systemd(1), systemd-sysusers(8)

ANMERKUNGEN

1.  Benutzer-/Gruppennamen-Syntax
    https://systemd.io/USER_NAMES

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).