SYSTEMD-SYSTEM.CONF(5)

BEZEICHNUNG
systemd-system.conf, system.conf.d, systemd-user.conf, user.conf.d - System- und Sitzungsserviceverwalter-Konfigurationsdateien

ÜBERSICHT

/etc/systemd/system.conf, /run/systemd/system.conf, /usr/lib/systemd/system.conf, /etc/systemd/system.conf.d/*.conf, /run/systemd/system.conf.d/*.conf, /usr/lib/systemd/system.conf.d/*.conf

~/.config/systemd/user.conf, /etc/systemd/user.conf, /run/systemd/user.conf, /usr/lib/systemd/user.conf, /etc/systemd/user.conf.d/*.conf, /run/systemd/user.conf.d/*.conf, /usr/lib/systemd/user.conf.d/*.conf

BESCHREIBUNG

Wird systemd als Systeminstanz ausgeführt, interpretiert es die Konfigurationsdatei system.conf und die Dateien in system.conf.d-Verzeichnissen; wird es als Benutzerinstanz ausgeführt, interpretiert es die Konfigurationsdatei user.conf (in der Prioritätsreihenfolge, im Home-Verzeichnis des Benutzers und unter /etc/systemd/, /run/systemd/ und /usr/lib/systemd/) und die Dateien in user.conf.d-Verzeichnissen. Diese Konfigurationsdateien enthalten ein paar Einstellungen, die grundlegende Verwaltungsaktionen steuern.

Siehe systemd.syntax(7) für eine allgemeine Beschreibung der Syntax.

KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE

Die Standardkonfiguration wird während der Kompilierung gesetzt. Daher wird eine Konfiguration nur benötigt, wenn von diesen Vorgaben abgewichen werden muss. Die Hauptkonfigurationsdatei wird aus einem der aufgeführten Verzeichnisse in der Prioritätsreihenfolge geladen; nur die zuerst gefundene Datei wird verwandt: /etc/systemd/, /run/systemd/, /usr/local/lib/systemd/ [1], /usr/lib/systemd/. Die Lieferantenversion der Datei enthält die Vorgaben als auskommentierte Hinweise für den Administrator. Lokal können diese Einstellungen durch die Erstellung von Ergänzungen, wie nachfolgend beschrieben, außer Kraft gesetzt werden. Zu diesem Zweck kann die Hauptkonfigurationsdatei (oder eine Kopie in /etc/, falls sie in /usr/ ausgeliefert wird) auch bearbeitet werden, allerdings wird empfohlen, Ergänzungen für die lokale Konfiguration zu verwenden, statt die Hauptkonfigurationsdatei zu verändern.

Zusätzlich zu der Hauptkonfigurationsdatei werden Ergänzungs-Konfigurationsschnipsel aus /usr/lib/systemd/*.conf.d/, /usr/local/lib/systemd/*.conf.d/ und /etc/systemd/*.conf.d/ gelesen. Diese Ergänzungen haben Vorrang vor der Hauptkonfigurationsdatei und setzen diese außer Kraft. Dateien in den Konfigurationsunterverzeichnissen *.conf.d/ werden in lexikographischer Reihenfolge nach ihrem Dateinamen sortiert, unabhängig davon, in welchem Unterverzeichnis sie sich befinden. Bei Optionen, die nur einen einzelnen Wert akzeptieren, hat der Eintrag in der Datei, die als letztes in der Sortierung folgt, Vorrang, falls mehrere Dateien die gleiche Option angeben. Bei Optionen, die eine Liste von Werten akzeptieren, werden Einträge gesammelt, wie sie in den sortierten Dateien auftauchen.

Wenn Pakete die Konfiguration anpassen müssen, können sie Ergänzungen unter /usr/ installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese Logik verwenden kann, um die durch die Lieferantenpakete bereitgestellten Konfigurationsdateien außer Kraft zu setzen. Um Ergänzungen der Pakete außer Kraft zu setzen, müssen Ergänzungen verwandt werden, da die Hauptkonfigurationsdatei die niedrigste Priorität hat. Es wird empfohlen, allen Dateinamen in diesen Unterverzeichnissen eine zweistellige Zahl und einen Bindestrich voranzustellen, um die Sortierung zu vereinfachen. Dies definiert auch ein Konzept von Ergänzungsprioritäten, um es Betriebssystemlieferanten zu ermöglichen, Ergänzungen in einem bestimmten Bereich auszuliefern, der unterhalb des von Benutzern verwandten Bereichs liegt. Dies sollte das Risiko reduzieren, dass eine Paketergänzung versehentlich durch Benutzer definierte Ergänzungen außer Kraft setzt. Es wird empfohlen, den Bereich 10-40 für Ergänzungen in /usr/ und den Bereich 60-90 für Ergänzungen in /etc/ und /run/ zu verwenden um sicherzustellen, dass lokale und flüchtige Ergänzungen Priorität gegenüber Ergänzungen haben, die vom Betriebssystemlieferanten geliefert werden.

Um eine vom Lieferanten bereitgestellte Konfigurationsdatei zu deaktivieren, wird empfohlen, einen Symlink nach /dev/null in dem Konfigurationsverzeichnis in /etc/ mit dem gleichen Dateinamen wie die Konfigurationsdatei des Lieferanten abzulegen.

OPTIONEN

Alle Optionen werden im Abschnitt »[Manager]« konfiguriert:

LogColor=, LogLevel=, LogLocation=, LogTarget=, LogTime=, DumpCore=yes, CrashChangeVT=no, CrashShell=no, CrashAction=freeze, ShowStatus=yes, DefaultStandardOutput=journal, DefaultStandardError=inherit
    Konfigurieren verschiedene Parameter grundlegender Verwaltungsaktionen. Diese Optionen können durch die Befehlszeilenargumente des betreffenden Prozesses und des Kernels außer Kraft gesetzt werden. Siehe systemd(1) für Details.

    Hinzugefügt in Version 198.

CtrlAltDelBurstAction=
    Definiert, welche Aktionen ausgeführt werden, falls der Benutzer Strg-Alt-Entf mehr als sieben Mal in 2 s drückt. Kann auf »reboot-force«, »poweroff-force«, »reboot-immediate«, »poweroff-immediate« gesetzt oder mittels »none« deaktiviert werden. Standardmäßig »reboot-force«.

    Hinzugefügt in Version 232.

StatusUnitFormat=
    Akzeptiert name, description oder combined als Wert. Falls name, wird der Systemverwalter Unit-Namen (z.B. »systemd-journald.service«) statt der längeren und aussagefähigeren, mit Description= gesetzten Beschreibungen (z.B. »Journal Logging Service«) in Statusmeldungen verwenden. Falls combined, wird der Systemverwalter sowohl Unit-Namen als auch Beschreibungen in Stausmeldungen verwenden (z.B. »systemd-journald.service - Journal Logging Service«).

    Siehe systemd.syntax(5) für Details über Unit-Namen und Description=.

    Hinzugefügt in Version 243.

DefaultTimerAccuracySec=
    Setzt die Standardgenauigkeit der Timer-Units. Dies steuert die globale Voreinstellung für die Einstellung AccuracySec= von Timer-Units, siehe systemd.timer(5) für Details.AccuracySec=-Einstellungen in individuellen Units setzen die globale Vorgabe für die bestimmte Unit außer Kraft. Standardmäßig 1 Minute. Beachten Sie, dass die Genauigkeit der Timer-Units auch von dem Timer-Spielraum beeinflusst wird, siehe TimerSlackNSec= oben.

    Hinzugefügt in Version 212.

RESSOURCENVERWALTUNG

TimerSlackNSec=
    Setzt den Timer-Spielraum in Nanosekunden für PID 1, der von allen ausgeführten Prozessen geerbt wird, außer er wird individuell außer Kraft gesetzt, beispielsweise mit der Einstellung TimerSlackNSec= in Dienste-Units (für Details siehe systemd.exec(5)). Der Timer-Spielraum steuert die Genauigkeit der durch Systemd-Timer ausgelösten Aufwachaktionen. Siehe prctl(2) für weitere Informationen. Beachten Sie, dass im Gegensatz zu den meisten anderen Zeitdauerdefinitionen dieser Parameter einen Ganzzahlwert in Nanosekunden akzeptiert, falls keine Einheit angegeben ist. Es werden auch die normalen Zeiteinheiten verstanden.

    Hinzugefügt in Version 198.

CPUAffinity=
    Konfiguriert die CPU-Affinität für den Diensteverwalter sowie die Vorgabe-CPU-Affinität für alle mit Fork erstellten Prozesse. Erhält eine Liste von CPU-Indizes oder Bereichen, die entweder durch Leerraum oder Kommata getrennt sind. CPU-Bereiche werden durch den unteren und oberen CPU-Index, getrennt durch einen Bindestrich, festgelegt. Diese Option kann mehr als einmal angegeben werden, in diesem Fall werden die CPU-Affinitätsmasken zusammengeführt. Falls die leere Zeichenkette zugewiesen wird, wird die Maske zurückgesetzt, alle vorherigen Zuweisungen haben keine Wirkung. Individuelle Dienste können die CPU-Affinität für ihre Prozesse mit der Einstellung CPUAffinity= in Unit-Dateien außer Kraft setzen, siehe systemd.exec(5).

    Hinzugefügt in Version 198.

NUMAPolicy=
    Konfiguriert die NUMA-Speicherrichtlinie für den Diensteverwalter und die Vorgabe-NUMA-Speicherrichtlinie für alle mit Fork gestarteten Prozesse. Individuelle Dienste können die Vorgaberichtlinie mit der Einstellung NUMAPolicy= in Unit-Dateien außer Kraft setzen, siehe systemd.exec(5).

    Hinzugefügt in Version 243.

NUMAMask=
    Konfiguriert die NUMA-Knotenmaske, die der ausgewählten NUMA-Richtlinie zugeordnet wird. Beachten Sie, dass die NUMA-Richtlinien default und local keine expliziten NUMA-Knotenmasken benötigen und der Wert dieser Option leer sein kann. Ähnlich zu NUMAPolicy= kann dieser Wert durch individuelle Dienste in Unit-Dateien außer Kraft gesetzt werden, siehe systemd.exec(5).

    Hinzugefügt in Version 243.

DefaultMemoryAccounting=, DefaultTasksAccounting=, DefaultIOAccounting=, DefaultIPAccounting=
    Konfiguriert die Vorgabe-Ressourcen-Buchhaltungseinstellungen, wie Unit-bezogen mittels MemoryAccounting=, TasksAccounting=, IOAccounting= und IPAccounting= konfiguriert. Siehe systemd.resource-control(5) zu Details Unit-bezogener Einstellungen.

    DefaultMemoryAccounting= ist standardmäßig »yes«. DefaultTasksAccounting= ist standardmäßig »yes«. Die anderen Einstellungen sind standardmäßig »no«.

    Hinzugefügt in Version 211.

DefaultTasksMax=
    Konfiguriert die Vorgabewerte der TasksMax=-Einstellungen für jede Unit. Siehe systemd.resource-control(5) für Details. Diese Einstellung wird auf alle Unit-Typen, die Ressourcensteuerungseinstellungen unterstützen, mit der Ausnahme von Scheiben-Units, angewandt. Standardmäßig 15% der minimalen kernel.pid_max=, kernel.threads-max= und der Wurzel-Cgroup pids.max. Der Kernel hat einen Vorgabewert für kernel.pid_max= und einen Zählalgorithmus, falls er mehr als 32 Kerne antrifft. Mit der standardmäßigen kernel.pid_max= ist die Vorgabe für DefaultTasksMax= 4915, aber sie kann auf anderen Systemen größer und in Betriebssystem-Containern kleiner sein.

    Hinzugefügt in Version 228.

DefaultLimitCPU=, DefaultLimitFSIZE=, DefaultLimitDATA=, DefaultLimitSTACK=, DefaultLimitCORE=, DefaultLimitRSS=, DefaultLimitNOFILE=, DefaultLimitAS=, DefaultLimitNPROC=, DefaultLimitMEMLOCK=, DefaultLimitLOCKS=, DefaultLimitSIGPENDING=, DefaultLimitMSGQUEUE=, DefaultLimitNICE=, DefaultLimitRTPRIO=, DefaultLimitRTTIME=
    Diese Einstellungen steuern verschiedene Vorgaberessourcenbeschränkungen für von Units ausgeführte Prozesse. Siehe setrlimit(2) für Details. Diese Einstellungen können in individuellen Units mittels der entsprechenden LimitXXX=-Direktiven außer Kraft gesetzt werden und sie akzeptieren die gleiche Parametersyntax, siehe systemd.exec(5) für Details. Beachten Sie, dass diese Ressourcenbeschränkungen nur die Vorgaben für die Units sind, sie werden nicht auf den Diensteverwalterprozess (d.h. PID 1) selbst angewandt.

    Die meisten dieser Einstellungen sind nicht gesetzt, was bedeutet, dass Ressourcenbegrenzungen von dem Kernel oder, falls innerhalb eines Containers, vom Container-Verwalter ererbt werden. Die Folgenden haben allerdings Standardwerte:

        • DefaultLimitNOFILE= ist standardmäßig »1024:524288«.

        • DefaultLimitMEMLOCK= ist standardmäßig 8M.

        • DefaultLimitCORE= hat keine Vorgabe, aber es lohnt sich zu erwähnen, dass RLIMIT_CORE durch PID1 auf »infinity« gesetzt wird, was von seinen Kindprogrammen ererbt wird.

    Beachten Sie, dass der Diensteverwalter intern in PID 1 RLIMIT_NOFILE und RLIMIT_MEMLOCK auf höhere Werte erhöht; die Beschränkung wird allerdings für alle per Fork erzeugten Kindprozesse auf die angegeben Vorgaben zurückgesetzt.

    Hinzugefügt in Version 198.

DefaultOOMPolicy=
    Konfiguriert die Standardrichtlinie für die Reaktion auf Prozesse, die durch den Speicherknappheits- (OOOM-)Killer von Linux oder systemd-oomd getötet werden. Dies kann zur Auswahl einer globalen Vorgabe für die Unit-bezogene Einstellung OOMPolicy= verwandt werden. Siehe systemd.service(5) für Details. Beachten Sie, dass diese Vorgabe für Dienste, die Delegate= eingeschaltet haben, nicht verwandt wird.

    Hinzugefügt in Version 243.

DefaultOOMScoreAdjust=
    Konfiguriert die Standard-OOM-Bewertungsanpassung für vom Diensteverwalter ausgeführte Prozesse. Standardmäßig nicht gesetzt (was bedeutet, dass mit Fork gestartete Prozesse die OOM-Bewertungsanpassung vom Diensteverwalter erben), außer falls der Diensteverwalter für einen nichtprivilegierten Benutzer ausgeführt wird, dann ist die Vorgabe die OOM-Bewertungsanpassung vom Diensteverwalter plus 100 (wodurch der Diensteprozess etwas wahrscheinlicher unter Speicherdruck beendet wird als der Verwalter selbst). Dies kann zum Auswählen einer globalen Vorgabe für die Unit-bezogene Einstellung OOMScoreAdjust= verwandt werden. Siehe systemd.exec(5) für Details. Beachten Sie, dass diese Einstellung keine Auswirkung auf den Standard-OOM-Bewertungsanpassungswert des Diensteverwalters selbst hat, er behält den ursprünglichen Wert, der während des Aufrufs gesetzt wurde.

    Hinzugefügt in Version 250.

DefaultMemoryPressureWatch=, DefaultMemoryPressureThresholdSec=
    Konfiguriert die Standardeinstellungen für die Unit-bezogenen Einstellungen MemoryPressureWatch= und MemoryPressureThresholdSec=. Siehe systemd.resource-control(5) zu Details. Standardmäßig »auto« bzw. »200ms«. Dies setzt auch den Schwellwert für die Überwachung des Speicherdrucks für den Diensteverwalter selbst.

    Hinzugefügt in Version 254.

HARDWARE-WATCHDOG

RuntimeWatchdogSec=, RebootWatchdogSec=, KExecWatchdogSec=
    Konfiguriert den Hardware-Watchdog zur Laufzeit und beim Systemstart. Akzeptiert einen Zeitüberschreitungswert in Sekunden (oder anderen Zeiteinheiten, falls »ms«, »min«, »h«, »d«, »w« angehängt wird) oder die besondere Zeichenkette »off« oder »default«. Falls auf »off« gesetzt (alternativ »0«), wird die Watchdog-Logik deaktiviert: Es wird kein Watchdog-Gerät geöffnet, konfiguriert oder angesprochen. Falls auf die besondere Zeichenkette »default« gesetzt, wird der Watchdog geöffnet und in regelmäßigen Intervallen angesprochen, aber die Zeitüberschreitung wird nicht von der Vorgabe geändert. Falls auf einen anderen Zeitwert gesetzt, wird die Watchdog-Zeitüberschreitung auf den festgelegten Werte konfiguriert (oder einen Wert in der Nähe, abhängig von den Hardware-Fähigkeiten).

    Falls RuntimeWatchdogSec= auf einen von Null verschiedenen Wert gesetzt wird, wird die Watchdog-Hardware (/dev/watchdog0 oder der mit WatchdogDevice= oder der mit der Kerneloption systemd.watchdog_device= festgelegte Pfad) programmiert, das System automatisch neu zu starten, falls sie nicht innerhalb des festgelegten Zeitüberschreitungsintervalls kontaktiert wird. Diese Funktionalität benötigt die Existenz eines Watchdog-Gerätes, wie dies bei eingebetteten und Server-Systemen häufig der Fall ist. Nicht alle Hardware-Watchdogs erlauben die Konfiguration aller möglichen Neustart-Zeitüberschreitungswerte – dann wird der naheste verfügbare Zeitüberschreitungswert ausgewählt.

    RebootWatchdogSec= kann zur Konfiguration des Hardware-Watchdogs verwandt werden, wenn das System um einen Neustart gebeten wird. Es funtioniert als Sicherheitsnetz, um sicherzustellen, dass der Neustart sogar dann stattfindet, falls ein sauberer Neustartversuch wegen einer Zeitüberschreitung nicht stattfindet. Beachten Sie, dass die Zeitüberschreitung RebootWatchdogSec= nur für die zweite Phase des Systemneustarts angewandt wird, d.h. nachdem alle regulären Dienste bereits beendet wurden und nachdem der System- und Diensteverwalterprozess (PID 1) durch das System-Herunterfahrprogramm ersetzt wurde, siehe bootup(7) für Details. Während der ersten Phase der Herunterfahr-Aktion bleibt der System- und Diensteverwalter am Laufen und daher wird RuntimeWatchdogSec= weiterhin gewürdigt. Um eine Zeitüberschreitung in dieser ersten Phase des System-Herunterfahrens zu definieren, konfigurieren Sie JobTimeoutSec= und JobTimeoutAction= in dem Abschnitt »[Unit]« von shutdown.target unit. Standardmäßig beträgt RuntimeWatchdogSec= 0 (off) und RebootWatchdogSec= 10min.

    KExecWatchdogSec= kann zur zusätzlichen Aktivierung des Watchdogs verwandt werden, wenn kexec statt eines Systemneustarts ausgeführt wird. Beachten Sie, dass in diesem Fall der Watchdog nicht nach dem kexec deaktiviert werden könnte, falls der Kernel den Watchdog beim kexec nicht zurücksetzt (abhängig von der spezifischen Hardware und/oder Treiber) und daher das System neu gestartet werden könnte, außer wenn RuntimeWatchdogSec= gleichzeitig auch aktiviert ist. Aus diesem Grund wird empfohlen, KExecWatchdogSec= nur zu aktivieren, falls RuntimeWatchdogSec= auch aktiviert ist.

    Diese Einstellungen haben keine Auswirkungen, falls kein Hardware-Watchdog verfügbar ist.

    Hinzugefügt in Version 198.

RuntimeWatchdogPreSec=
    Konfiguriert den Hardware-Watchdog-Vorzeitüberschreitungswert. Akzeptiert einen Zeitüberschreitungswert in Sekunden (oder in anderen Zeiteinheiten, ähnlich wie RuntimeWatchdogSec=). Eine Vorzeitüberschreitung ist eine durch den Watchdog erzeugte Benachrichtigung, bevor eine Watchdog-Zurücksetzung erfolgen könnte, falls der Watchdog nicht bedient wurde. Diese Benachrichtigung wird vom Kernel bedient und kann so mit RuntimeWatchdogPreGovernor= konfiguriert werden, dass eine Aktion erfolgt (d.h. eine Kernel-Panik erzeugt wird). Nicht alle Watchdog-Hardware oder -Treiber unterstützen die Erstellung einer Vorzeitüberschreitung und abhängig vom Zustand des Systems könnte der Kernel nicht in der Lage sein, die konfigurierte Aktion vorzunehmen, bevor sich der Watchdog neu startet. Der Watchdog wird so konfiguriert, dass er die Vorzeitüberschreitung die in RuntimeWatchdogPreSec= festgelegte Zeit vor der Laufzeitüberschreitung des Watchdogs erstellt (gesetzt über RuntimeWatchdogSec=). Ist beispielsweise RuntimeWatchdogSec=30 und RuntimeWatchdogPreSec=10, dann wird das Vorzeitüberschreitungsereignis auftreten, falls 20 Sekunden lang kein Ping zum Watchdog erfolgte (10 Sekunden bevor der Watchdog auslösen würde). Standardmäßig ist 0 (ausgeschaltet) die Vorgabe für RuntimeWatchdogPreSec=. Der für RuntimeWatchdogPreSec= gesetzte Wert muss kleiner als der Zeitüberschreitungswert für RuntimeWatchdogSec= sein. Diese Einstellung hat keine Auswirkung, falls kein Hardware-Watchdog verfügbar ist oder der Hardware-Watchdog keine Vorzeitüberschreitung unterstützt und wird vom Kernel ignoriert, falls die Einstellung größer als die tatsächliche Watchdog-Zeitüberschreitung ist.

    Hinzugefügt in Version 251.

RuntimeWatchdogPreGovernor=
    Konfiguriert die vom Hardware-Watchdog-Gerät vorzunehmende Aktion, wenn die Vorzeitüberschreitung abläuft. Die Vorgabeaktion für das Vorzeitüberschreitungsereignis hängt von der Kernelkonfiguration ab, aber normalerweise wird eine Kernelmeldung protokolliert. Lesen Sie den Inhalt der Datei /sys/class/watchdog/watchdogX/pretimeout_available_governors für eine Liste gültiger, für ein Watchdog-Gerät verfügbarer Aktionen. Typischerweise sind die Regulierungstypen noop und panic verfügbar. Verfügbarkeit, Namen und Funktionalität könnten sich, abhängig vom konkret verwandten Gerätetreiber, unterscheiden. Falls die Sysfs-Datei pretimeout_available_governors leer ist, könnte der Regulierer als Kernelmodul gebaut worden sein und könnte manuell zu laden sein (z.B. pretimeout_noop.ko) oder das Watchdog-Gerät könnte Vorzeitüberschreitung nicht unterstützen.

    Hinzugefügt in Version 251.

WatchdogDevice=
    Konfiguriert das Hardware-Watchdog-Gerät, das die Laufzeit- und Herunterfahr-Watchdog-Timer öffnen und benutzen wird. Standardmäßig /dev/watchdog0. Diese Einstellung hat keinen Effekt, falls kein Hardware-Watchdog verfügbar ist.

    Hinzugefügt in Version 236.

SICHERHEIT

CapabilityBoundingSet=
    Steuert, welche Capabilities in der Capability-Begrenzungsmenge für PID 1 und seine Kindprozesse aufgenommen werden sollen. Siehe capabilities(7) für Details. Akzeptiert eine durch Leerraumzeichen getrennte Liste von Capability-Namen, wie sie von cap_from_name(3) eingelesen werden. Die aufgeführten Capabilities werden in die Begrenzungsmenge aufgenommen, alle anderen werden entfernt. Falls der Liste der Capabilities ein ~ vorangestellt wird, werden alle außer den aufgeführten Capabilities aufgenommen, der Effekt der Zuweisung ist invertiert. Beachten Sie, dass diese Option auch die respektiven Capabilities in der effektiven, erlaubten und vererbbaren Capability-Menge betrifft. Die Capability-Begrenzungsmenge kann auch für Units auch individuell mittels der Anweisung CapabilityBoundingSet= für diese Unit konfiguriert werden. Beachten Sie aber, dass Capabilities, die für PID 1 ausgeschlossen wurden, nicht für individuelle Units wiedererlangt werden können, sie sind auf Dauer verloren.

    Hinzugefügt in Version 198.

NoNewPrivileges=
    Akzeptiert ein logisches Argument. Falls true, stellt sie sicher, dass PID 1 und alle seine Kinder niemals Privilegien durch execve(2) erhalten können (d.h. mittels der Bits setuid oder setgid oder Dateisystem-Capabilities). Standardmäßig false. Allzweckdistributionen benötigen typischerweise Programme mit gesetzten Setuid- oder Setgid-Bits und werden daher nicht korrekt funktionieren, wenn diese Option aktiviert ist. Individuelle Units können diese Option nicht deaktivieren. Siehe auch Schalter »Keine neuen Privilegien«[2].

    Hinzugefügt in Version 239.

ProtectSystem=
    Akzeptiert ein logisches Argument oder die Zeichenkette »auto«. Falls auf true gesetzt, wird dies /usr/ schreibgeschützt neu einhängen. Falls auf (die Vorgabe) »auto« gesetzt und in einer Initrd ausgeführt, dann äquivalent zu true, sonst false. Dies implementiert eine eingeschränkte Untermenge der Unit-bezogenen Einstellung des gleichen Namens, siehe systemd.exec(5) zu Details: aktuell werden die Werte »full« oder »strict« nicht unterstützt.

    Hinzugefügt in Version 256.

SystemCallArchitectures=
    Akzeptiert eine durch Leerzeichen getrennte Liste von Architekturkennzeichnern. Wählt aus, von welchen Architekturen auf diesem System Systemaufrufe aufgerufen werden dürfen. Dies kann als effektive systemweite Art zur Deaktivierung von Aufrufen von nicht-nativen Programmen verwandt werden, um beispielsweise die Ausführung von 32-Bit-x86-Programmen auf 64-Bit-x86-64-Systemen zu verbieten. Diese Option agiert systemweit und arbeitet ähnlich der Einstellung SystemCallArchitectures= von Unit-Dateien, siehe systemd.exec(5) für Details. Diese Einstellung ist standardmäßig die leere Liste, d.h. dass in diesem Fall keine Filterung der Systemaufrufe basierend auf der Architektur angewandt wird. Bekannte Architekturkennzeichner sind »x86«, »x86-64«, »x32«, »arm« und der besondere Kennzeichner »native«. Letzterer wird implizit auf die native Architektur des Systems abgebildet (oder genauer, der Architektur, für die der Systemverwalter kompiliert wurde). Setzen Sie diese Einstellung auf »native«, um die Ausführung nicht nativer Programme zu verbieten. Wenn ein Programm einen Systemaufruf einer Architektur ausführt, die nicht in dieser Einstellung aufgeführt ist, wird sie sofort mit dem Signal SIGSYS beendet.

    Hinzugefügt in Version 209.

DefaultSmackProcessLabel=
    Akzeptiert einen SMACK64-Sicherheits-Label als Argument. Der durch eine Unit ausgeführte Prozess wird unter diesem Label gestartet, falls SmackProcessLabel= nicht in der Unit gesetzt ist. Siehe systemd.exec(5) für Details.

    Falls der Wert »/« ist, werden nur mit SmackProcessLabel= festgelegte Label zugewiesen und die Vorgabe aus der Kompilierung wird ignoriert.

    Hinzugefügt in Version 252.

DefaultRestrictSUIDSGID=
    Akzeptiert ein logisches Argument. Dies wird als Vorgabe für Units verwandt, denen eine explizite Definition für RestrictSUIDSGID= fehlt. Weitere Details finden Sie in systemd.exec(5).

    Hinzugefügt in Version 258.

ZEITÜBERSCHREITUNGEN UND RATENBEGRENZUNGEN

DefaultTimeoutStartSec=, DefaultTimeoutStopSec=, DefaultTimeoutAbortSec=, DefaultRestartSec=
    Konfiguriert die Standardzeitüberschreitung zum Starten, Beenden und Abbrechen von Units sowie die Standardzeit, die zwischen automatischen Neustarts von Units geschlafen wird, wie dies pro Unit in TimeoutStartSec=, TimeoutStopSec=, TimeoutAbortSec= und RestartSec= konfiguriert ist (für Dienste, siehe systemd.service(5) für Details über die Einstellungen pro Unit). Für Units, die keine Dienste sind, setzt DefaultTimeoutStartSec= den Standardwert von TimeoutSec=.

    DefaultTimeoutStartSec= und DefaultTimeoutStopSec= sind standardmäßig 90 s im Systemverwalter und 90 s im Benutzerverwalter. DefaultTimeoutAbortSec= ist standardmäßig nicht gesetzt, so dass alle Units auf TimeoutStopSec= zurückfallen. DefaultRestartSec= ist standardmäßig 100 ms.

    Hinzugefügt in Version 209.

DefaultDeviceTimeoutSec=
    Konfiguriert die standardmäßige Zeitüberschreitung zum Warten auf Geräte. Sie kann gerätebezogen mittels der Option x-systemd.device-timeout= in /etc/fstab und /etc/crypttab geändert werden (siehe systemd.mount(5), crypttab(5)). Standardmäßig 90 s im Systemverwalter und 90 s im Benutzerverwalter.

    Hinzugefügt in Version 252.

DefaultStartLimitIntervalSec=, DefaultStartLimitBurst=
    Konfiguriert die Standard-Startratenbegrenzung von Units, wie dies pro Dienst in StartLimitIntervalSec= und StartLimitBurst= konfiguriert ist. Siehe systemd.service(5) für Details über die Einstellungen pro Dienst. DefaultStartLimitIntervalSec= ist standardmäßig 10 s. DefaultStartLimitBurst= ist standardmäßig 5.

    Hinzugefügt in Version 209.

ReloadLimitIntervalSec=, ReloadLimitBurst=
    Ratenbegrenzung für Daemon-Neulade- und (seit v256) Daemon-Neuausführungs-Anforderungen. Die Einstellung gilt für beide Aktionen, aber die Ratenbegrenzungen werden getrennt nachverfolgt. Standardmäßig nicht gesetzt und jede Anzahl an Aktionen kann zu jeder Zeit erbeten werden. ReloadLimitIntervalSec= akzeptiert einen Wert in Sekunden, um das Ratenbegrenzungsfenster zu konfigurieren und ReloadLimitBurst= akzeptiert eine positive Ganzzahl, um die maximal erlaubte Anzahl von Aktionen innerhalb des konfigurierten Zeitfensters zu konfigurieren.

    Hinzugefügt in Version 253.

UMGEBUNGSVARIABLEN

DefaultEnvironment=
    Konfiguriert Umgebungsvariablen, die an alle ausgeführten Prozesse weitergegeben werden. Erhält eine Liste von durch Leerzeichen getrennten Variablenzuweisungen. Siehe environ(7) für Details über Umgebungsvariablen. Dieser Umgebungsblock ist intern und Änderungen daran wirken sich nicht auf /proc/PID/environ des Verwalters aus.

    Einfache »%«-Kennzeichner-Expansion wird unterstützt, siehe unten für eine Liste der unterstützten Kennzeichner.

    Beispiel:

        DefaultEnvironment="VAR1=Wort1 Wort2" VAR2=Wort3 "VAR3=Wort 5 6"

    Setzt drei Variablen "VAR1", "VAR2", "VAR3".

    Hinzugefügt in Version 205.

ManagerEnvironment=
    Setzt Umgebungsvariablen für den Verwalterprozess selbst. Akzeptiert eine Leerzeichen-getrennte Liste von Variablenzuweisungen im gleichen Format wie dem oben beschriebenen DefaultEnvironment=. Diese Variablen werden mit dem bestehenden Umgebungsblock des Verwalterprozesses zusammengeführt. Im Falle des Systemverwalters enthält dieser Block insbesondere Variablen, die vom Kernel basierend auf der Kernelbefehlszeile gesetzt werden. Im Falle des Benutzerverwalters sind dies insbesondere vom Systemverwalter hereingereichte Variablen. Nachdem diese Variablen zusammengeführt wurden, bleiben sie dauerhaft bestehen, bis sie außer Kraft gesetzt werden, selbst wenn der Verwalter neu geladen oder neu ausgeführt wird. Beim Benutzerverwalter werden diese Varialben auch von Prozessen geeerbt, die durch den Verwalter erzeugt werden. Wie bei DefaultEnvironment= ist dieser Umgebungsblock intern und Änderungen daran werden nicht in /proc/PID/environ des Verwalters wiedergespiegelt.

    Das Setzen von Umgebungsvariablen für den Verwalterprozess kann zu Veränderung dessen Verhaltens nützlich sein. Siehe Bekannte Umgebungsvariablen[3] für eine Beschreibung über einige der von systemd verstandenen Variablen.

    Einfache »%«-Kennzeichner-Expansion wird unterstützt, siehe unten für eine Liste der unterstützten Kennzeichner.

    Hinzugefügt in Version 248.

KENNZEICHNER

Kennzeichner können in den Einstellungen DefaultEnvironment= und ManagerEnvironment= verwandt werden. Die folgenden Expansionen 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 zur leeren Zeichenkette aufgelöst. 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.
"%v" | Kernelveröffentlichung | Identisch zur Ausgabe von uname -r.
"%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.
"%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" | 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.)
"%h" | Benutzer-Home-Verzeichnis | Dies ist das Home-Verzeichnis des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%u" | Benutzername | Dies ist der Benutzername des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%U" | Benutzerkennung | Die ist die Benutzerkennung des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%g" | Primäre Gruppe | Dies ist die primäre Gruppe des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%G" | Primäre Gruppenkennung | Dies ist die primäre Gruppekennung des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%s" | Benutzer-Shell | Dies ist die Shell des Benutzers, der die Instanz des Diensteverwalters ausführt.
"%%" | Einzelnes Prozentzeichen | Verwenden Sie »%%« anstelle von »%«, um ein einzelnes Prozentzeichen anzugeben.

GESCHICHTE

systemd 252
    Die Option DefaultBlockIOAccounting= wurde als veraltet markiert. Bitte wechseln Sie zur vereinigten Cgroup-Hierarchie.

systemd 258
    Die Einstellung DefaultCPUAccounting= ist veraltet, da CPU-Buchführung in der vereinigten Cgroup-Hierarchie immer verfügbar ist und eine solche Einstellung keine Auswirkung hat.

SIEHE AUCH

systemd(1), systemd.directives(7), systemd.exec(5), systemd.service(5), environ(7), capabilities(7)

ANMERKUNGEN

1.  💣💥🧨💥💥💣 Bitte beachten Sie, dass diese Konfigurationsdateien zu allen Zeiten verfügbar sein müssen. Falls /usr/local/ eine separate Partition ist, könnte diese während des frühen Systemstarts nicht verfügbar sein und darf dann nicht für Konfiguration verwandt werden.

2.  Schalter »Keine neuen Privilegien«
    https://docs.kernel.org/userspace-api/no_new_privs.html

3.  Bekannte Umgebungsvariablen
    https://systemd.io/ENVIRONMENT

Ü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.