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, /etc/systemd/system.conf.d/*.conf, /run/systemd/system.conf.d/*.conf, /lib/systemd/system.conf.d/*.conf

/etc/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 Systemd die Konfigurationsdatei user.conf und die Dateien in user.conf.d-Verzeichnissen. Diese Konfigurationsdateien enthalten ein paar Einstellungen, die grundlegende Verwaltungsaktionen steuern. Siehe systemd.syntax(5) für eine allgemeine Beschreibung der Syntax.

KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE

Die Standardkonfiguration wird während der Kompilierung definiert. Daher wird eine Konfigurationsdatei nur benötigt, wenn von diesen Vorgaben abgewichen werden muss. Standardmäßig enthält die Konfigurationsdatei in /etc/systemd/ die Vorgaben als auskommentierten Hinweis für den Administrator. Diese Datei kann bearbeitet werden, um lokal Einstellungen zu ändern.

Wenn Pakete die Konfiguration anpassen müssen, können sie Konfigurationsschnipsel in /usr/lib/systemd/*.conf.d/ oder /usr/local/lib/systemd/*.conf.d/installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese Logik dazu verwenden kann, die von Lieferantenpaketen installierten Konfigurationsdateien außer Kraft zu setzen. Die Hauptkonfigurationsdatei wird vor jeder anderen aus den Konfigurationsverzeichnissen gelesen und hat die niedrigste Priorität; Einträge in einer Datei in jedem der Konfigurationsverzeichnisse setzen Einträge in der einzelnen Konfigurationsdatei 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 mit dem lexikographisch letzten Namen Vorrang, falls mehrere Dateien die gleiche Option festlegen. Bei Optionen, die eine Liste von Werten akzeptieren, werden Einträge zusammengefasst, wie sie in den lexikographisch sortierten Dateien auftauchen. Es wird empfohlen, allen Dateinamen in diesen Unterverzeichnissen eine zweistellige Zahl und einen Gedankenstrich voranzustellen, um die Anordnung der Dateien zu vereinfachen.

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

OPTIONEN

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

LogLevel=, LogTarget=, LogColor=, LogLocation=, DumpCore=yes, CrashChangeVT=no, CrashShell=no, CrashReboot=no, 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.

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

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 Gedankenstrich, 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).

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

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

RuntimeWatchdogSec=, RebootWatchdogSec=, KExecWatchdogSec=
    Konfiguriert den Hardware-Watchdog zur Laufzeit und beim Systemstart. Akzeptiert einen Wert in Sekunden (oder in anderen Zeiteinheiten, falls »ms«, »min«, »h«, »d«, »w« angehängt wird) für die Zeitüberschreitung. Falls RuntimeWatchdogSec= auf einen von Null verschiedenen Wert gesetzt wird, wird die Watchdog-Hardware (/dev/watchdog oder der mit WatchdogDevice= oder der Kerneloption systemd.watchdog-device= konfigurierte Pfad) programmiert, um das System automatisch neu zu starten, falls es nicht innerhalb des festgelegten Zeitüberschreitungsintervalls kontaktiert wurde. Der Systemverwalter wird sicherstellen, es mindestens einmal in der Hälfte des festgelegten Zeitüberschreitungsintervalls zu kontaktieren. Diese Funktionalität benötigt die Existenz eines Hardware-Watchdog-Geräts, wie dies typisch in eingebetteten und Serversystemen der Fall ist. Nicht alle Hardware-Watchdogs erlauben die Konfiguration aller möglichen Neustartzeitüberschreitungswerte, falls notwendig, wird die am nächsten liegende Zeitüberschreitung ausgewählt. RebootWatchdogSec= kann zur Konfiguration des Hardware-Watchdogs, wenn das System aufgefordert wird, neuzustarten, verwandt werden. Es funktioniert als Sicherheitsnetz, um sicherzustellen, dass der Neustart stattfindet, selbst falls ein sauberer Neustartversuch in eine Zeitüberschreitung läuft. Beachten Sie, dass die Zeitüberschreitung RebootWatchdogSec= nur für die zweite Phase des Neustarts gilt, d.h. nachdem alle normalen Dienste bereits beendet wurden und nachdem der System- und Diensteverwalterprozess (PID 1) durch das Programm systemd-shutdown ersetzt wurde, siehe bootup(7) des Systems für Details. Während der ersten Phase der Herunterfahraktion läuft der System- und Diensteverwalter weiter und daher wird RuntimeWatchdogSec= noch berücksichtigt. Um eine Zeitüberschreitung für diese erste Phase des Systemherunterfahrens zu definieren, konfigurieren Sie JobTimeoutSec= und JobTimeoutAction= im Abschnitt »[Unit]« der Unit shutdown.target. Standardmäßig ist RuntimeWatchdogSec= 0 (aus) und ShutdownWatchdogSec= 10 Minuten. Zusätzlich kann KExecWatchdogSec= verwandt werden, um Watchdogs zu aktiveren, wenn Kexec statt eines Neustarts verwandt wird. Beachten Sie, dass der Kernel den Watchdog bei Kexec (abhängig von der speziellen Hardware und/oder Treiber) nicht zurücksetzt. In diesem Fall könnte der Watchdog nicht deaktiviert werden, wodurch das System neugestartet werden könnte, außer RuntimeWatchdogSec= ist auch zur gleichen Zeit aktiviert. Aus diesem Grund wird empfohlen, KExecWatchdogSec= nur zu aktivieren, wenn auch RuntimeWatchdogSec= aktiviert ist. Diese Einstellungen haben keinen Effekt, falls kein Hardware-Watchdog verfügbar ist.

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

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.

NoNewPrivileges=
    Akzeptiert ein logisches Argument. Falls wahr, 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 falsch. 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«[1].

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.

TimerSlackNSec=
    Setzt den Zeitgeberspielraum 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 Zeitgeberspielraum steuert die Genauigkeit der durch Systemd-Zeitgeber 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.

StatusUnitFormat=
    Akzeptiert entweder name oder description als Wert. Falls name, wird der Systemverwalter Unit-Namen statt der längeren und aussagefähigeren, mit Description= gesetzten Beschreibungen in Statusmeldungen verwenden, siehe systemd.unit(5).

DefaultTimerAccuracySec=
    Setzt die Standardgenauigkeit der Zeitgeber-Units. Dies steuert die globale Voreinstellung für die Einstellung AccuracySec= von Zeitgeber-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 Zeitgeber-Units auch von dem Zeitgeberspielraum beeinflusst wird, siehe TimerSlackNSec= oben.

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). Standardmäßig deaktiviert, wenn Dienst mit Type=oneshot verwandt wird. Für Units, die keine Dienste sind, setzt DefaultTimeoutStartSec= den Standardwert von TimeoutSec=. DefaultTimeoutStartSec= und DefaultTimeoutStopSec= sind standardmäßig 90 s. DefaultTimeoutAbortSec= ist standardmäßig nicht gesetzt, so dass alle Units auf TimeoutStopSec= zurückfallen. DefaultRestartSec= ist standardmäßig 100 ms.

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.

DefaultEnvironment=
    Setzt die Verwaltungs-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.

    Beispiel:

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

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

DefaultCPUAccounting=, DefaultBlockIOAccounting=, DefaultMemoryAccounting=, DefaultTasksAccounting=, DefaultIOAccounting=, DefaultIPAccounting=
    Konfiguriert die Standard-Buchführungs-Einstellungen, wie sie für jede Unit durch CPUAccounting=, BlockIOAccounting=, MemoryAccounting=, TasksAccounting=, IOAccounting= und IPAccounting= konfiguriert werden. Siehe systemd.resource-control(5) für Details über die Einstellungen pro Unit. DefaultTasksAccounting= ist standardmäßig »yes«, DefaultMemoryAccounting= ist »yes«. DefaultCPUAccounting= ist standardmäßig »yes«, falls die Aktivierung der CPU-Buchführung nicht die Aktivierung der CPU-Controller benötigt (Linux 4.15+ verwendet die vereinigte Hierarchie für die Ressourcensteuerung), andernfalls ist die Vorgabe »no«. Die anderen drei Einstellungen sind standardmäßig »no.

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 Slice-Units, angewandt.

DefaultLimitCPU=, DefaultLimitFSIZE=, DefaultLimitDATA=, DefaultLimitSTACK=, DefaultLimitCORE=, DefaultLimitRSS=, DefaultLimitNOFILE=, DefaultLimitAS=, DefaultLimitNPROC=, DefaultLimitMEMLOCK=, DefaultLimitLOCKS=, DefaultLimitSIGPENDING=, DefaultLimitMSGQUEUE=, DefaultLimitNICE=, DefaultLimitRTPRIO=, DefaultLimitRTTIME=
    Diese Einstellungen steuern verschiedene Ressourcenbegrenzungen für Units. Siehe setrlimit(2) für Details. Die Ressourcenbegrenzung kann in zwei Formaten festgelegt werden, Wert, um die harten und weichen Grenzen auf den gleichen Wert zu setzen oder weich:hart, um beide Begrenzungen individuell zu setzen (z.B. DefaultLimitAS=4G:16G). Verwenden Sie die Zeichenkette infinity, um keine Begrenzung für eine angegebene Ressource zu konfigurieren. Die multiplikativen Endungen K (=1024), M (=1024*1024) und so weiter für G, T, P und E können für in Bytes gemessene Ressourcenbegrenzungen verwandt werden (z.B. DefaultLimitAS=16G). Für die Begrenzungen, die sich auf Zeitwerte beziehen, können die gewöhnlichen Zeiteinheiten ms, s, min, h und so weiter verwandt werden (siehe systemd.time(7) für Details). Beachten Sie, dass als Vorgabezeiteinheit Sekunden impliziert ist, falls keine Zeiteinheit für DefaultLimitCPU= festgelegt ist, während für DefaultLimitRTTIME= die Vorgabeeinheit Mikrosekunden impliziert werden. Beachten Sie auch, dass die effektive Granularität der Begrenzungen ihre Durchsetzung beeinflussen können. Beispielsweise werden die für DefaultLimitCPU= festgelegten Zeitbegrenzungen implizit auf ein Vielfaches von 1 s gerundet. Diese Einstellungen können in individuellen Units mittels der entsprechenden LimitXXX=-Anweisungen außer Kraft gesetzt werden. Beachten Sie, dass diese Ressourcenbegrenzungen nur die Vorgabewerte für Units sind, sie werden nicht auf PID 1 selbst angewandt.

DefaultOOMPolicy=
    Configure the default policy for reacting to processes being killed by the Linux Out-Of-Memory (OOM) killer. This may be used to pick a global default for the per-unit OOMPolicy= setting. See systemd.service(5) for details. Note that this default is not used for services that have Delegate= turned on.

SIEHE AUCH

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

ANMERKUNGEN

1.  Schalter »Keine neuen Privilegien«
    https://www.kernel.org/doc/html/latest/userspace-api/no_new_privs.html

Ü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 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 <debian-l10n-german@lists.debian.org>.