SYSTEMD.NSPAWN(5) systemd.nspawn SYSTEMD.NSPAWN(5) BEZEICHNUNG systemd.nspawn - Container-Einstellungen UBERSICHT /etc/systemd/nspawn/Maschine.nspawn /run/systemd/nspawn/Maschine.nspawn /var/lib/machines/Maschine.nspawn BESCHREIBUNG Eine Nspawn-Containereinstellungsdatei (Endung .nspawn) enthalt eine Laufzeitkonfiguration fur einen lokalen Container und wird von systemd-nspawn(1) verwandt. Dateien dieser Art werden nach den Containern benannt, deren Einstellungen sie enthalten. Sie sind optional und nur fur Container notwendig, deren Ausfuhrungsumgebung von den Vorgaben abweichen soll. Dateien dieser Art enthalten hauptsachlich Einstellungen, die auch auf der Befehlszeile von systemd-nspawn gesetzt werden konnen und erleichtern das dauerhafte Anhangen von bestimmten Einstellungen an bestimmte Container. Die Syntax dieser Dateien wurde durch .desktop-Dateien inspiriert, ahnlich anderer durch das Systemd-Projekt unterstutzter Konfigurationsdateien. Siehe systemd.syntax(7) fur einen Uberblick. .NSPAWN-DATEIERMITTLUNG Dateien werden gesucht, indem die Endung .nspawn an den Maschinennamen des Containers angehangt wird, wie dies im Schalter --machine= von systemd-nspawn festgelegt ist. Alternativ werden sie vom Verzeichnis- oder Dateinamen abgeleitet. Nach dieser Datei wird zuerst in /etc/systemd/nspawn/ und /run/systemd/nspawn/ gesucht. Falls sie dort gefunden wird, werden die Einstellungen gelesen und werden voll wirksam (konnen aber weiterhin durch entsprechende Befehlszeilenargumente ausser Kraft gesetzt werden). Andernfalls wird dann neben der Abbilddatei oder im direkt uber dem Wurzelverzeichnis des Containers liegenden Verzeichnis nach der Datei gesucht. Falls die Datei hier gefunden wird, wird allerdings nur eine Teilmenge der Einstellungen wirksam. Samtliche Einstellungen, die moglicherweise Privilegien erhohen oder zusatzliche Zugriffe auf Ressourcen des Wirtes (wie Dateien oder Verzeichnisse) erlauben, werden ignoriert. Weiter unten wird dargestellt, auf welche Optionen dies zutrifft. Dauerhafte vom Administrator erstellte und verwaltete (und damit vertrauenswurdige) Einstellungsdateien sollten in /etc/systemd/nspawn/ abgelegt werden, wahrend automatisch heruntergeladene (und daher moglicherweise unvertrauenswurdige) Einstellungsdateien stattdessen in /var/lib/machines/ abgelegt werden (neben den Container-Abbildern), wo deren Auswirkungen auf die Sicherheit begrenzt ist. Um privilegierte Einstellungen zu vom Abbilder-Vertreiber erlangten .nspawn-Dateien hinzuzufugen, wird empfohlen, die Einstellungsdateien nach /etc/systemd/nspawn/ zu kopieren und dort zu bearbeiten, so dass die privilegierten Optionen verfugbar werden. Der genaue Algorithmus, wie die Dateien durchsucht und interpretiert werden, kann mit dem Schalter --settings= von systemd-nspawn konfiguriert werden, siehe systemd-nspawn(1) fur Details. [EXEC]-ABSCHNITT-OPTIONEN Einstellungsdateien konnen einen Abschnitt >>[Exec]<< enthalten, der verschiedene Ausfuhrungsparameter transportiert: Boot= Akzeptiert ein logisches Argument, standardmassig >>off<<. Falls aktiviert, wird systemd-nspawn automatisch nach einem Init-Programm suchen und es ausfuhren. In diesem Fall werden die mittels Parameters= festgelegten Parameter als zusatzliche Argumente an den Init-Prozess ubergeben. Diese Einstellung entspricht dem Schalter --boot auf der systemd-nspawn-Befehlszeile. Diese Option darf nicht mit ProcessTwo=yes kombiniert werden. Diese Option ist standardmassig in der Vorlagen-Unit systemd-nspawn@.service festgelegt. Hinzugefugt in Version 226. Ephemeral= Akzeptiert ein logisches Argument, standardmassig >>off<<. Falls aktiviert, wird der Container mit einem temporaren Schnappschuss seines Dateisystems ausgefuhrt, das beim Beenden des Containers sofort entfernt wird. Dies ist aquivalent zum Befehlszeilenschalter --ephemeral. Siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Hinzugefugt in Version 240. ProcessTwo= Akzeptiert ein logisches Argument, standardmassig >>off<<. Falls aktiviert, wird das festgelegte Programm als PID 2 ausgefuhrt. Ein Mini-Init-Prozess wird als PID 1 ausgefuhrt. Diese Einstellung entspricht dem Schalter --as-pid2 auf der systemd-nspawn-Befehlszeile. Diese Option darf nicht mit Boot=yes kombiniert werden. Hinzugefugt in Version 229. Parameters= Akzeptiert eine Leerraum-getrennte Liste von Argumenten. Einzelne (>>'<<) und doppelte (>>"<<) englische Anfuhrungszeichen konnen um Argumente mit Lerraum verwandt werden. Dies ist entweder eine Befehlszeile, die mit dem Namen des auszufuhrenden Programmes beginnt, oder, falls Boot= aktiviert ist, die Liste der an den Init-Prozess zu ubergebenen Argumente. Diese Einstellung entspricht den auf der systemd-nspawn-Befehlszeile ubergebenen Befehlszeilenparametern. Beachten Sie: Boot=no, Parameters=a b "c c" ist identisch zu systemd-nspawn a b "c c" und Boot=yes, Parameters=b 'c c' ist das gleiche wie systemd-nspawn --boot b 'c c'. Hinzugefugt in Version 226. Environment= Akzeptiert eine Umgebungsvariablenzuweisung, bestehend aus Schlussel und Wert, getrennt durch >>=<<. Setzt eine Umgebungsvariable fur den im Container aufgerufenen Hauptprozess. Diese Einstellung kann mehrfach verwandt werden, um mehrere Umgebungsvariablen zu setzen. Sie entspricht dem Befehlszeilenschalter --setenv=. Hinzugefugt in Version 226. User= Akzeptiert einen UNIX-Benutzernamen. Legt den Benutzernamen fest, unter dem der Hauptprozess im Container aufgerufen werden soll. Dieser Benutzer muss in der Benutzerdatenbank des Containers bekannt sein. Dies entspricht dem Befehlszeilenschalter --user=. Hinzugefugt in Version 226. WorkingDirectory= Wahlt das Arbeitsverzeichnis fur den im Container aufgerufenen Prozess. Erwartet einen absoluten Pfad im Dateisystemnamensraum des Containers. Dies entspricht dem Befehlszeilenschalter --chdir=. Hinzugefugt in Version 229. PivotRoot= Wahlt ein Verzeichnis, in das zu / im Container beim Starten hin umgeschwenkt werden soll. Akzeptiert einen einzelnen Pfad oder ein Paar durch Doppelpunkt getrennte Pfade. Beide Pfade mussen absolut und im Dateisystemnamensraum des Containers auflosbar sein. Dies entspricht dem Befehlszeilenschalter --pivot-root=. Hinzugefugt in Version 233. Capability=, DropCapability= Akzeptiert eine Leerraum-getrennte Liste von Linux-Prozess-Capabilities (siehe capabilities(7) fur Details). Die Einstellung Capability= legt zusatzliche Capabilities fest, die erganzend zur Vorgabemenge der Capabilities ubergeben werden soll. Die Einstellung DropCapability= legt Capabilities fest, die aus der Vorgabemenge entfernt werden sollen. Diese Einstellungen entsprechen den Befehlszeilenschaltern --capability= und --drop-capability=. Beachten Sie, dass Capability= eine privilegierte Einstellung ist und nur in .nspawn-Dateien in /etc/systemd/nspawn/ und /run/system/nspawn/ wirksam wird (siehe oben). Andererseits wird DropCapability= in allen Fallen wirksam. Falls der besondere Wert >>all<< ubergeben wird, werden alle Capabilities erhalten (oder entfernt). Diese Einstellungen sind die Begrenzungsmenge der Capabilitys, die auch die in AmbientCapability= ubergebenen Capabilitys begrenzt. Hinzugefugt in Version 226. AmbientCapability= Akzeptiert eine Leerzeichen-begrenzte Liste von Linux-Prozess-Capabilitys (siehe capabilities(7) fur Details). Die Einstellung AmbientCapability= legt Capabilitys fest, die dem gestarteten Programm in den vererbbaren und Umgebungs-Capability-Mengen ubergeben werden. Dies gewahrt diese Capabilitys diesem Prozess. Diese Einstellung entspricht dem Befehlzeilenschalter --ambient-capability=. Fur diese Einstellung wird der Wert >>all<< nicht unterstutzt. Die Einstellung von AmbientCapability= muss durch die Begrenzungsmengeneinstellung, wie sie durch Capability= und DropCapability= eingerichtet wurde, abgedeckt sein. Beachten Sie, dass AmbientCapability= eine privilegierte Einstellung ist (siehe oben). Hinzugefugt in Version 248. NoNewPrivileges= Akzeptiert ein logisches Argument, das den Schalter PR_SET_NO_NEW_PRIVS fur den Container-Nutzinhalt steuert. Dies ist aquivalent zum Befehlszeilenschalter --no-new-privileges=. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. KillSignal= Legt das an PID 1 des Containers zu sendende Signal fest, wenn Nspawn selbst ein SIGTERM empfangt, um ein geordnetes Herunterfahren des Containers auszulosen. Standardmassig SIGRTMIN+3, falls Boot= verwandt wird (auf Systemd-kompatiblen Init-Systemen lost SIGRTMIN+3 ein geordnetes Herunterfahren aus). Siehe signal(7) fur eine Liste gultiger Signale. Hinzugefugt in Version 230. Personality= Konfiguriert die Kernelpersonalitat fur den Container. Dies ist aquivalent zum Befehlszeilenschalter --personality=. Hinzugefugt in Version 226. MachineID= Konfiguriert die an den Container zu ubergebende 128-Bit-Maschinenkennung (UUID). Dies ist aquivalent zum Befehlszeilenschalter --uuid=. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. PrivateUsers= Konfiguriert Unterstutzung fur Benutzernamensraume. Dies ist aquivalent zum Befehlszeilenschalter --private-users= und akzeptiert die gleichen Optionen. Diese Option ist privilegiert (siehe oben). Diese Option ist die Vorgabe, falls die Vorlagen-Unitdatei systemd-nspawn@.service verwandt wird. Hinzugefugt in Version 230. NotifyReady= Konfiguriert die Unterstutzung fur Benachrichtigungen vom Init-Prozess des Containers. Dies ist aquivalent zum Befehlszeilenschalter --notify-ready= und akzeptiert den gleichen Parameter. Siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Hinzugefugt in Version 231. SystemCallFilter= Konfiguriert den auf Container angewandten Systemaufruffilter. Dies ist aquivalent zum Befehlszeilenschalter --system-call-filter= und akzeptiert den gleichen Listenparameter. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 235. LimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=, LimitNOFILE=, LimitAS=, LimitNPROC=, LimitMEMLOCK=, LimitLOCKS=, LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=, LimitRTTIME= Konfiguriert verschiedene Arten von auf Container anzuwendende Ressourcenbegrenzungen. Dies ist aquivalent zum Befehlszeilenschalter --rlimit= und akzeptiert die gleichen Argumente. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. OOMScoreAdjust= Konfiguriert den OOM-Anpassungsbewertungswert. Dies ist aquivalent zum Befehlszeilenschalter --oom-score-adjust= und akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. CPUAffinity= Konfiguriert die CPU-Affinitat. Dies ist aquivalent zum Befehlszeilenschalter --cpu-affinity= und akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. Hostname= Konfiguriert den fur den Container zu setzenden Kernel-Rechnernamen. Dies ist aquivalent zum Befehlszeilenschalter --hostname= und akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. ResolvConf= Konfiguriert, wie /etc/resolv.conf im Container gehandhabt werden soll. Dies ist aquivalent zum Befehlszeilenschalter --resolv-conf= und akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. Timezone= Konfiguriert, wie /etc/localtime im Container gehandhabt werden soll. Dies ist aquivalent zum Befehlszeilenschalter --timezone= und akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. LinkJournal= Konfiguriert, wie die Journal-Einrichtung des Rechners und des Containers verbunden werden. Dies ist aquivalent zum Befehlszeilenschalter --cpu-affinity= und akzeptiert den gleichen Parameter. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 239. SuppressSync= Konfiguriert, ob Plattensynchronisation fur den Container-Inhalt unterdruckt werden soll. Dies ist aquivalent zum Befehlszeilenschalter --suppress-sync= und akzeptiert den gleichen Parameter. Siehe systemd-nspawn(1) fur Details. Hinzugefugt in Version 250. [FILES]-ABSCHNITT-OPTIONEN Einstellungsdateien konnen einen Abschnitt >>[Files]<< enthalten, der verschiedene Parameter zur Konfiguration des Dateisystems des Containers transportiert: ReadOnly= Akzeptiert ein logisches Argument, das standardmassig >>off<< ist. Falls festgelegt, wird der Container mit einem nur-lesbaren Dateisystem ausgefuhrt. Diese Einstellung entspricht dem Befehlszeilenschalter --read-only. Hinzugefugt in Version 226. Volatile= Akzeptiert ein logisches Argument oder den besonderen Wert >>state<<. Dies konfiguriert, ob der Container in einem fluchtigen Zustand und/oder Konfiguration ausgefuhrt werden soll. Diese Option ist aquivalent zu --volatile=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Hinzugefugt in Version 226. Bind=, BindReadOnly= Fugt eine Bind-Einhangung vom Rechner in den Container hinzu. Akzeptiert einen Pfad, ein Paar aus Pfad und Optionszeichenkette, getrennt durch einen Doppelpunkt oder ein Triplett von zwei Pfaden sowie eine Optionszeichenkette, getrennt durch einen Doppelpunkt. Diese Option kann mehrfach verwandt werden, um mehrere Bind-Einhangungen zu konfigurieren. Diese Option ist aquivalent zu den Befehlszeilenschaltern --bind= und --bind-ro=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. BindUser= Bindet einen Benutzer vom Rechner in den Container. Diese Option ist aquivalent zu dem Befehlszeilenschalter --bind-user=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 249. TemporaryFileSystem= Fugt eine >>tmpfs<<-Einhangung zum Container hinzu. Akzeptiert einen Pfad oder ein Paar aus Pfad und Optionszeichenkette, getrennt durch einen Doppelpunkt. Diese Option kann mehrfach verwandt werden, um mehrere >>tmpfs<<-Einhangungen zu konfigurieren. Diese Option ist aquivalent zum Befehlszeilenschalter --tmpfs=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. Inaccessible= Maskiert die festgelegte Datei oder Verzeichnis im Container, indem ein leerer Dateiknoten vom gleichen Typ mit dem eingeschranktesten Modus daruber eingehangt wird. Akzeptiert einen Dateisystempfad als Argument. Diese Option kann mehrfach verwandt werden, um mehrere Dateien oder Verzeichnisse zu maskieren. Diese Option ist aquivalent zum Befehlszeilenschalter --inaccessible=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 242. Overlay=, OverlayReadOnly= Fugt einen Uberlagerungseinhangepunkt hinzu. Akzeptiert eine durch Doppelpunkte getrennte Liste von Pfaden. Diese Option kann mehrfach verwandt werden, um mehrere Uberlagerungseinhangungen zu konfigurieren. Diese Option ist aquivalent zu den Befehlszeilenschaltern --overlay-ro= und --overlay-ro=, siehe systemd-nspawn(1) fur Details uber die genauen unterstutzten Optionen. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 233. PrivateUsersOwnership= Konfiguriert, ob die Eigentumerschaft von Dateien und Verzeichnissen im Container-Baum mit dem verwandten UID/GID-Bereich falls notwendig angepasst werden soll und ob Benutzernamensraume aktiviert sind. Diese Option ist aquivalent zum Befehlszeilenschalter --private-users-ownership=. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 249. [NETWORK]-ABSCHNITT-OPTIONEN Einstellungsdateien konnen einen Abschnitt >>[Network]<< enthalten, der verschiedene Parameter zur Konfiguration der Netzwerkverbindungen des Containers transportiert: Private= Akzeptiert ein logisches Argument, standardmassig >>off<<. Falls aktiviert, lauft der Container in seinem eigenen Netzwerknamensraum und nutzt Netzwerkschnittstellen und Konfiguration mit dem Rechner nicht gemeinsam. Diese Option entspricht dem Befehlszeilenschalter --private-network. Hinzugefugt in Version 226. VirtualEthernet= Akzeptiert ein logisches Argument. Konfiguriert, ob eine virtuelle Ethernet-Verbindung (>>veth<<) zwischen dem Rechner und dem Container konfiguriert werden soll. Diese Einstellung impliziert Private=yes. Diese Option entspricht dem Befehlszeilenschalter --network-veth. Diese Option ist privilegiert (siehe oben). Diese Option ist die Vorgabe, falls die Vorlagen-Unit-Datei systemd-nspawn@.service verwandt wird. Hinzugefugt in Version 226. VirtualEthernetExtra= Akzeptiert ein Doppelpunkt-getrenntes Paar von Schnittstellennamen. Konfiguriert eine zusatzliche virtuelle Ethernet-Verbindung (>>veth<<) zwischen dem Rechner und dem Container. Der erste angegebene Name ist der Schnittstellenname auf dem Rechner, der zweite der Schnittstellenname im Container. Letzterer kann entfallen, dann wird er auf den gleichen Namen wie der Schnittstellenname des Rechners gesetzt. Diese Einstellung impliziert Private=yes. Diese Option entspricht dem Befehlszeilenschalter --network-veth-extra= und darf mehrfach verwandt werden. Sie ist von VirtualEthernet= unabhangig. Beachten Sie, dass diese Option unabhangig von der nachfolgend beschriebenen Einstellung Bridge= ist und daher alle auf diese Art erstellten Verbindungen nicht automatisch zu jedem Bridge-Gerat auf der Rechner-Seite hinzugefugt werden. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 228. Interface= Akzeptiert eine Leerraum-getrennte Liste von Schnittstellen, die dem Container hinzugefugt werden sollen. Das Schnittstellenobjekt ist entweder uber einen einzelnen Schnittstellennamen definiert, der den Namen auf dem Rechner referenziert, ober uber ein Doppelpunkt-getrenntes Paar von Schnittstellen, wobei der erste den Namen auf dem Rechner referenziert und der zweite den Namen im Container. Diese Optionen entspricht dem Befehlszeilenschaltern --network-interface= und impliziert Private=yes. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. MACVLAN=, IPVLAN= Akzeptiert eine Leerraum-getrennte Liste von Schnittstellen, denen MACLVAN- oder IPVLAN-Schnittstellen hinzugefugt und die dann dem Container hinzugefugt werden sollen. Das Schnittstellenobjekt ist entweder uber einen einzelnen Schnittstellennamen definiert, der den Namen auf dem Rechner referenziert, ober uber ein Doppelpunkt-getrenntes Paar von Schnittstellen, wobei der erste den Namen auf dem Rechner referenziert und der zweite den Namen im Container. Diese Optionen entsprechen den Befehlszeilenschaltern --network-macvlan= und --network-ipvlan= und implizieren Private=yes. Diese Optionen sind privilegiert (siehe oben). Hinzugefugt in Version 226. Bridge= Akzeptiert einen Schnittstellennamen. Diese Einstellung impliziert VirtualEthernet=yes und Private=yes. Sie hat den Effekt, dass die Rechnerseite der erstellten virtuellen Netzwerkverbindung mit der festgelegten Bridge-Schnittstelle verbunden ist. Diese Option entspricht dem Befehlszeilenschalter --network-bridge=. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. Zone= Akzeptiert einen Netzwerkzonennamen. Diese Einstellung impliziert VirtualEthernet=yes und Private=yes. Sie hat den Effekt, dass die Rechnerseite der erstellten virtuellen Netzwerkverbindung mit einer automatisch verwalteten Bridge-Schnittstelle verbunden ist, die nach dem ubergebenen Argument benannt ist, dem >>vz-<< vorangestellt wurde. Diese Option entspricht dem Befehlszeilenschalter --network-zone=. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 230. Port= Legt einen TCP- oder UDP-Port des Containers auf dem Rechner offen. Diese Option entspricht dem Befehlszeilenschalter --port=, siehe systemd-nspawn(1) fur die genaue Syntax der Argumente, den diese Option erwartet. Diese Option ist privilegiert (siehe oben). Hinzugefugt in Version 226. SIEHE AUCH systemd(1), systemd-nspawn(1), systemd.directives(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 SYSTEMD.NSPAWN(5)