SYSTEMD-SYSTEM.CONF(5)

BEZEICHNUNG
systemd-system.conf, system.conf.d, systemd-user.conf, user.conf.d - System- und Dienste-Service-Verwalter-Konfigurationsdateien

ÜBERSICHT

/etc/systemd/system.conf, /etc/systemd/system.conf.d/*.conf, /run/systemd/system.conf.d/*.conf, /usr/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 Übersetzung 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 Hinweis für den Administrator auskommentiert. 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/ 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 anfängliche CPU-Affinität für den Init-Prozess. Erhält eine Liste von CPU-Indices 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.

JoinControllers=cpu,cpuacct net_cls,netprio
    Konfiguriert Controller, die in einer einzelnen Hierarchie eingehängt werden sollen. Standardmäßig wird Systemd alle Controller, die im Kernel aktiviert sind, in individuelle Hierarchien einhängen, außer denjenigen, die in dieser Einstellung aufgeführt sind. Akzeptiert eine Leerraum-getrennte Liste von Kommata-getrennten Controller-Namen, um mehrere vereinigte Hierarchien zu ermöglichen. Standardmäßig »cpu,cpuacct«. Übergeben Sie die leere Zeichenkette, um sicherzustellen, dass Systemd alle Controller in separaten Hierarchien einhängt.

    Beachten Sie, dass dies Option nur einmal in der sehr frühen Systemstartphase angewandt wird. Falls Sie eine anfängliche RAM-Platte (Initrd) verwenden, die Systemd einsetzt, könnte es daher notwendig sein, die Initrd neuzubauen, falls diese Option geändert wurde, und sicherzustellen, dass die neue Konfigurationsdatei darin enthalten ist. Andernfalls könnte die Initrd die Controller-Hierarchien in einer anderen als geplanten Konfiguration einhängen und das Hauptsystem kann sie dann nicht mehr neu einhängen.

RuntimeWatchdogSec=, ShutdownWatchdogSec=
    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. ShutdownWatchdogSec= 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 ShutdownWatchdogSec= 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. 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-Timer ö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 Direktive 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ötigten 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 Lerraumzeichen 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 ein Systemaufruf einer Architektur ausführt, die nicht in dieser Einstellung aufgeführt ist, wird sie sofort mit dem Signal SIGSYS beendet.

TimerSlackNSec=
    Sets the timer slack in nanoseconds for PID 1, which is inherited by all executed processes, unless overridden individually, for example with the TimerSlackNSec= setting in service units (for details see systemd.exec(5)). The timer slack controls the accuracy of wake-ups triggered by system timers. See prctl(2) for more information. Note that in contrast to most other time span definitions this parameter takes an integer value in nano-seconds if no unit is specified. The usual time units are understood too.

DefaultTimerAccuracySec=
    Sets the default accuracy of timer units. This controls the global default for the AccuracySec= setting of timer units, see systemd.timer(5) for details. AccuracySec= set in individual units override the global default for the specific unit. Defaults to 1min. Note that the accuracy of timer units is also affected by the configured timer slack for PID 1, see TimerSlackNSec= above.

DefaultTimeoutStartSec=, DefaultTimeoutStopSec=, DefaultRestartSec=
    Konfiguriert die Standardzeitüberschreitung zum Starten und Beenden von Units sowie die Standardzeit, die zwischen automatischen Neustarts von Units geschlafen wird, wie dies pro Unit in TimeoutStartSec=, TimeoutStopSec= 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. 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 Leerraum-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=
    Configure the default resource accounting settings, as configured per-unit by CPUAccounting=, BlockIOAccounting=, MemoryAccounting=, TasksAccounting=, IOAccounting= and IPAccounting=. See systemd.resource-control(5) for details on the per-unit settings. DefaultTasksAccounting= defaults to on, DefaultMemoryAccounting= to yes, the other four settings to off.

DefaultTasksMax=
    Configure the default value for the per-unit TasksMax= setting. See systemd.resource-control(5) for details. This setting applies to all unit types that support resource control settings, with the exception of slice units. Defaults to 15%, which equals 4915 with the kernel's defaults on the host, but might be smaller in OS containers.

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 Vielfaches von 1 s gerundet. Diese Einstellungen können in individuellen Units mittels der entsprechenden LimitXXX=-Direktiven 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.

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