BEZEICHNUNG
systemd.nspawn - Container-EinstellungenÜBERSICHT
/etc/systemd/nspawn/ Maschine.nspawn /run/systemd/nspawn/ Maschine.nspawn /var/lib/machines/ Maschine.nspawnBESCHREIBUNG
Eine Nspawn-Containereinstellungsdatei (Endung .nspawn) enthält eine Laufzeitkonfiguration für 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 für Container notwendig, deren Ausführungsumgebung von den Vorgaben abweichen soll. Dateien dieser Art enthalten hauptsächlich Einstellungen, die auch auf der Befehlszeile von systemd-nspawn gesetzt werden können und erleichtern das dauerhafte Anhängen von bestimmten Einstellungen an bestimmte Container. Die Syntax dieser Dateien wurde durch .desktop-Dateien inspiriert, ähnlich anderer durch das Systemd-Projekt unterstützter Konfigurationsdateien. Siehe systemd.syntax(7) für einen Überblick..NSPAWN-DATEIERMITTLUNG
Dateien werden gesucht, indem die Endung .nspawn an den Maschinennamen des Containers angehängt 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 (können aber weiterhin durch entsprechende Befehlszeilenargumente außer Kraft gesetzt werden). Andernfalls wird dann neben der Abbilddatei oder im direkt über dem Wurzelverzeichnis des Containers liegenden Verzeichnis nach der Datei gesucht. Falls die Datei hier gefunden wird, wird allerdings nur eine Teilmenge der Einstellungen wirksam. Sämtliche Einstellungen, die möglicherweise Privilegien erhöhen oder zusätzliche 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 vertrauenswürdige) Einstellungsdateien sollten in /etc/systemd/nspawn/ abgelegt werden, während automatisch heruntergeladene (und daher möglicherweise unvertrauenswürdige) 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 hinzuzufügen, wird empfohlen, die Einstellungsdateien nach /etc/systemd/nspawn/ zu kopieren und dort zu bearbeiten, so dass die privilegierten Optionen verfügbar 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) für Details.[EXEC]-ABSCHNITT-OPTIONEN
Einstellungsdateien können einen Abschnitt »[Exec]« enthalten, der verschiedene Ausführungsparameter transportiert: Boot=Akzeptiert ein logisches Argument,
standardmäßig »off«. Falls aktiviert, wird
systemd-nspawn automatisch nach einem Init-Programm suchen und es
ausführen. In diesem Fall werden die mittels Parameters=
festgelegten Parameter als zusätzliche Argumente an den Init-Prozess
übergeben. Diese Einstellung entspricht dem Schalter --boot auf
der systemd-nspawn-Befehlszeile. Diese Option darf nicht mit
ProcessTwo=yes kombiniert werden. Diese Option ist
standardmäßig in der Vorlagen-Unit [email protected]
festgelegt.
Ephemeral=
Akzeptiert ein logisches Argument,
standardmäßig »off«. Falls aktiviert, wird der
Container mit einem temporären Schnappschuss seines Dateisystems
ausgeführt, das beim Beenden des Containers sofort entfernt wird. Dies
ist äquivalent zum Befehlszeilenschalter --ephemeral. Siehe
systemd-nspawn(1) für Details über die genauen
unterstützten Optionen.
ProcessTwo=
Akzeptiert ein logisches Argument,
standardmäßig »off«. Falls aktiviert, wird das
festgelegte Programm als PID 2 ausgeführt. Ein Mini-Init-Prozess wird
als PID 1 ausgeführt. Diese Einstellung entspricht dem Schalter
--as-pid2 auf der systemd-nspawn-Befehlszeile. Diese Option darf
nicht mit Boot=yes kombiniert werden.
Parameters=
Akzeptiert eine Leerraum-getrennte Liste von
Argumenten. Einzelne (»'«) und doppelte (»"«)
englische Anführungszeichen können um Argumente mit Lerraum
verwandt werden. Dies ist entweder eine Befehlszeile, die mit dem Namen des
auszuführenden Programmes beginnt, oder, falls Boot= aktiviert
ist, die Liste der an den Init-Prozess zu übergebenen Argumente. Diese
Einstellung entspricht den auf der systemd-nspawn-Befehlszeile
übergebenen 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'.
Environment=
Akzeptiert eine Umgebungsvariablenzuweisung,
bestehend aus Schlüssel und Wert, getrennt durch »=«.
Setzt eine Umgebungsvariable für den im Container aufgerufenen
Hauptprozess. Diese Einstellung kann mehrfach verwandt werden, um mehrere
Umgebungsvariablen zu setzen. Sie entspricht dem Befehlszeilenschalter
--setenv=.
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=.
WorkingDirectory=
Wählt das Arbeitsverzeichnis für
den im Container aufgerufenen Prozess. Erwartet einen absoluten Pfad im
Dateisystemnamensraum des Containers. Dies entspricht dem
Befehlszeilenschalter --chdir=.
PivotRoot=
Wählt 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
müssen absolut und im Dateisystemnamensraum des Containers
auflösbar sein. Dies entspricht dem Befehlszeilenschalter
--pivot-root=.
Capability=, DropCapability=
Akzeptiert eine Leerraum-getrennte Liste von
Linux-Prozess-Capabilities (siehe capabilities(7) für Details).
Die Einstellung Capability= legt zusätzliche Capabilities fest,
die ergänzend zur Vorgabemenge der Capabilities übergeben 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
Fällen wirksam. Falls der besondere Wert »all«
übergeben wird, werden alle Capabilities erhalten (oder entfernt).
Diese Einstellungen sind die Begrenzungsmenge der Capabilitys, die auch die in
AmbientCapability= übergebenen Capabilitys begrenzt.
AmbientCapability=
Akzeptiert eine Leerzeichen-begrenzte Liste
von Linux-Prozess-Capabilitys (siehe capabilities(7) für
Details). Die Einstellung AmbientCapability= legt Capabilitys fest, die
dem gestarteten Programm in den vererbbaren und Umgebungs-Capability-Mengen
übergeben werden. Dies gewährt diese Capabilitys diesem Prozess.
Diese Einstellung entspricht dem Befehlzeilenschalter
--ambient-capability=.
Für diese Einstellung wird der Wert »all« nicht
unterstützt.
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).
NoNewPrivileges=
Akzeptiert ein logisches Argument, das den
Schalter PR_SET_NO_NEW_PRIVS für den Container-Nutzinhalt
steuert. Dies ist äquivalent zum Befehlszeilenschalter
--no-new-privileges=. Siehe systemd-nspawn(1) für
Details.
KillSignal=
Legt das an PID 1 des Containers zu sendende
Signal fest, wenn Nspawn selbst ein SIGTERM empfängt, um ein geordnetes
Herunterfahren des Containers auszulösen. Standardmäßig
SIGRTMIN+3, falls Boot= verwandt wird (auf Systemd-kompatiblen
Init-Systemen löst SIGRTMIN+3 ein geordnetes Herunterfahren aus). Siehe
signal(7) für eine Liste gültiger Signale.
Personality=
Konfiguriert die Kernelpersonalität
für den Container. Dies ist äquivalent zum Befehlszeilenschalter
--personality=.
MachineID=
Konfiguriert die an den Container zu
übergebende 128-Bit-Maschinenkennung (UUID). Dies ist äquivalent
zum Befehlszeilenschalter --uuid=. Diese Option ist privilegiert (siehe
oben).
PrivateUsers=
Konfiguriert Unterstützung für
Benutzernamensräume. Dies ist äquivalent zum
Befehlszeilenschalter --private-users= und akzeptiert die gleichen
Optionen. Diese Option ist privilegiert (siehe oben). Diese Option ist die
Vorgabe, falls die Vorlagen-Unitdatei [email protected] verwandt
wird.
NotifyReady=
Konfiguriert die Unterstützung
für Benachrichtigungen vom Init-Prozess des Containers. Dies ist
äquivalent zum Befehlszeilenschalter --notify-ready= und
akzeptiert den gleichen Parameter. Siehe systemd-nspawn(1) für
Details über die genauen unterstützten Optionen.
SystemCallFilter=
Konfiguriert den auf Container angewandten
Systemaufruffilter. Dies ist äquivalent zum Befehlszeilenschalter
--system-call-filter= und akzeptiert den gleichen Listenparameter.
Siehe systemd-nspawn(1) für Details.
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 äquivalent zum
Befehlszeilenschalter --rlimit= und akzeptiert die gleichen Argumente.
Siehe systemd-nspawn(1) für Details.
OOMScoreAdjust=
Konfiguriert den OOM-Anpassungsbewertungswert.
Dies ist äquivalent zum Befehlszeilenschalter
--oom-score-adjust= und akzeptiert das gleiche Argument. Siehe
systemd-nspawn(1) für Details.
CPUAffinity=
Konfiguriert die CPU-Affinität. Dies
ist äquivalent zum Befehlszeilenschalter --cpu-affinity= und
akzeptiert das gleiche Argument. Siehe systemd-nspawn(1) für
Details.
Hostname=
Konfiguriert den für den Container zu
setzenden Kernel-Rechnernamen. Dies ist äquivalent zum
Befehlszeilenschalter --hostname= und akzeptiert das gleiche Argument.
Siehe systemd-nspawn(1) für Details.
ResolvConf=
Konfiguriert, wie /etc/resolv.conf im
Container gehandhabt werden soll. Dies ist äquivalent zum
Befehlszeilenschalter --resolv-conf= und akzeptiert das gleiche
Argument. Siehe systemd-nspawn(1) für Details.
Timezone=
Konfiguriert, wie /etc/localtime im Container
gehandhabt werden soll. Dies ist äquivalent zum Befehlszeilenschalter
--timezone= und akzeptiert das gleiche Argument. Siehe
systemd-nspawn(1) für Details.
LinkJournal=
Konfiguriert, wie die Journal-Einrichtung des
Rechners und des Containers verbunden werden. Dies ist äquivalent zum
Befehlszeilenschalter --cpu-affinity= und akzeptiert den gleichen
Parameter. Siehe systemd-nspawn(1) für Details.
SuppressSync=
Konfiguriert, ob Plattensynchronisation
für den Container-Inhalt unterdrückt werden soll. Dies ist
äquivalent zum Befehlszeilenschalter --suppress-sync= und
akzeptiert den gleichen Parameter. Siehe systemd-nspawn(1) für
Details.
[FILES]-ABSCHNITT-OPTIONEN
Einstellungsdateien können einen Abschnitt »[Files]« enthalten, der verschiedene Parameter zur Konfiguration des Dateisystems des Containers transportiert: ReadOnly=Akzeptiert ein logisches Argument, das
standardmäßig »off« ist. Falls festgelegt, wird
der Container mit einem nur-lesbaren Dateisystem ausgeführt. Diese
Einstellung entspricht dem Befehlszeilenschalter --read-only.
Volatile=
Akzeptiert ein logisches Argument oder den
besonderen Wert »state«. Dies konfiguriert, ob der Container in
einem flüchtigen Zustand und/oder Konfiguration ausgeführt
werden soll. Diese Option ist äquivalent zu --volatile=, siehe
systemd-nspawn(1) für Details über die genauen
unterstützten Optionen.
Bind=, BindReadOnly=
Fügt eine Bind-Einhängung 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-Einhängungen zu konfigurieren. Diese Option ist äquivalent
zu den Befehlszeilenschaltern --bind= und --bind-ro=, siehe
systemd-nspawn(1) für Details über die genauen
unterstützten Optionen. Diese Option ist privilegiert (siehe
oben).
BindUser=
Bindet einen Benutzer vom Rechner in den
Container. Diese Option ist äquivalent zu dem Befehlszeilenschalter
--bind-user=, siehe systemd-nspawn(1) für Details
über die genauen unterstützten Optionen. Diese Option ist
privilegiert (siehe oben).
TemporaryFileSystem=
Fügt eine
»tmpfs«-Einhängung 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«-Einhängungen zu konfigurieren. Diese Option ist
äquivalent zum Befehlszeilenschalter --tmpfs=, siehe
systemd-nspawn(1) für Details über die genauen
unterstützten Optionen. Diese Option ist privilegiert (siehe
oben).
Inaccessible=
Maskiert die festgelegte Datei oder
Verzeichnis im Container, indem ein leerer Dateiknoten vom gleichen Typ mit
dem eingeschränktesten Modus darüber eingehängt wird.
Akzeptiert einen Dateisystempfad als Argument. Diese Option kann mehrfach
verwandt werden, um mehrere Dateien oder Verzeichnisse zu maskieren. Diese
Option ist äquivalent zum Befehlszeilenschalter --inaccessible=,
siehe systemd-nspawn(1) für Details über die genauen
unterstützten Optionen. Diese Option ist privilegiert (siehe
oben).
Overlay=, OverlayReadOnly=
Fügt einen
Überlagerungseinhängepunkt hinzu. Akzeptiert eine durch
Doppelpunkte getrennte Liste von Pfaden. Diese Option kann mehrfach verwandt
werden, um mehrere Überlagerungseinhängungen zu konfigurieren.
Diese Option ist äquivalent zu den Befehlszeilenschaltern
--overlay-ro= und --overlay-ro=, siehe systemd-nspawn(1)
für Details über die genauen unterstützten Optionen.
Diese Option ist privilegiert (siehe oben).
PrivateUsersOwnership=
Konfiguriert, ob die Eigentümerschaft
von Dateien und Verzeichnissen im Container-Baum mit dem verwandten
UID/GID-Bereich falls notwendig angepasst werden soll und ob
Benutzernamensräume aktiviert sind. Diese Option ist äquivalent
zum Befehlszeilenschalter --private-users-ownership=. Diese Option ist
privilegiert (siehe oben).
[NETWORK]-ABSCHNITT-OPTIONEN
Einstellungsdateien können einen Abschnitt »[Network]« enthalten, der verschiedene Parameter zur Konfiguration der Netzwerkverbindungen des Containers transportiert: Private=Akzeptiert ein logisches Argument,
standardmäßig »off«. Falls aktiviert, läuft
der Container in seinem eigenen Netzwerknamensraum und nutzt
Netzwerkschnittstellen und Konfiguration mit dem Rechner nicht gemeinsam.
Diese Option entspricht dem Befehlszeilenschalter
--private-network.
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
[email protected] verwandt wird.
VirtualEthernetExtra=
Akzeptiert ein Doppelpunkt-getrenntes Paar von
Schnittstellennamen. Konfiguriert eine zusätzliche 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=
unabhängig. Beachten Sie, dass diese Option unabhängig von der
nachfolgend beschriebenen Einstellung Bridge= ist und daher alle auf
diese Art erstellten Verbindungen nicht automatisch zu jedem
Bridge-Gerät auf der Rechner-Seite hinzugefügt werden. Diese
Option ist privilegiert (siehe oben).
Interface=
Akzeptiert eine Leerraum-getrennte Liste von
zum Container hinzuzufügenden Schnittstellen. Diese Option entspricht
dem Befehlszeilenschalter --network-interface= und impliziert
Private=yes. Diese Option ist privilegiert (siehe oben).
MACVLAN=, IPVLAN=
Akzeptiert eine Leerraum-getrennte Liste von
Schnittstellen, denen MACLVAN- oder IPVLAN-Schnittstellen hinzugefügt
und die dann dem Container hinzugefügt werden sollen. Diese Optionen
entsprechen den Befehlszeilenschaltern --network-macvlan= und
--network-ipvlan= und implizieren Private=yes. Diese Optionen
sind privilegiert (siehe oben).
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).
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 übergebenen Argument benannt ist, dem
»vz-« vorangestellt wurde. Diese Option entspricht dem
Befehlszeilenschalter --network-zone=. Diese Option ist privilegiert
(siehe oben).
Port=
Legt einen TCP- oder UDP-Port des Containers
auf dem Rechner offen. Diese Option entspricht dem Befehlszeilenschalter
--port=, siehe systemd-nspawn(1) für die genaue Syntax
der Argumente, den diese Option erwartet. Diese Option ist privilegiert (siehe
oben).
SIEHE AUCH
systemd(1), systemd-nspawn(1), systemd.directives(7)ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> 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 die Mailingliste der Übersetzersystemd 252 |