CAPSULE@.SERVICE(5)

BEZEICHNUNG
capsule@.service - System-Unit für den Kapsel-Diensteverwalter

ÜBERSICHT

capsule@NAME.service

BESCHREIBUNG

Diensteverwalter für Kapseln laufen in System-Units capsule@NAME.service, wobei der Name der Kapsel die Instanz identifiziert. Kapseln stellen eine Möglichkeit dar, zusätzliche Instanzen des Diensteverwalters unter dynamischen Benutzerkennungen auszuführen, d.h. UIDs, die reserviert werden, wenn der Kapsel-Diensteverwalter gestartet wird und freigegeben werden, wenn er gestoppt wird.

In vielerlei Hinsicht ist capsule@.service ähnlich zum benutzerbezogenen Diensteverwalter user@.service, es gibt aber eine Reihe von wichtigen Unterscheidungen:

    • Der Kapsel-Diensteverwalter benützt DynamicUser= (siehe systemd.exec(5)), um eine neue UID dynamisch beim Aufruf zu reservieren. Der Benutzername wird automatisch aus dem Kapselnamen abgeleitet, indem diesem »c_« vorangestellt wird. Die UID wird freigegeben, wenn der Dienst beendet wird. Der Benutzerdiensteverwalter andererseits arbeitet unter einer statisch reservierten Benutzerkennung, die bereits existieren muss, bevor der Benutzerdiensteverwalter aufgerufen wird.

    • Benutzerdiensteverwalter registrieren sich mit pam(8), Kapsel-Diensteverwalter machen dies nicht.

    • Benutzerdiensteverwalter lesen ihre Konfiguration typischerweise aus einem Verzeichnis $HOME unterhalb von /home/, Kapsel-Diensteverwalter aus einem Verzeichnis $HOME unterhalb von /var/lib/capsules/.

    • Benutzerdiensteverwalter sind gemeinsam in der Unit user.slice enthalten, Kapsel-Diensteverwalter in capsule.slice. Siehe auch systemd.special(7).

    • Benutzerdiensteverwalter starten anfänglich die Benutzer-Unit default.target. Kapsel-Diensteverwalter rufen stattdessen die Benutzer-Unit capsule@.target auf.

Der Kapsel-Diensteverwalter und der Bus-Vermittler der Kapsel können mittels des Schalters --capsule= für systemctl(1), systemd-run(1) und busctl(1) erreicht werden.

Neue Kapseln können mittels eines einfachen Befehls systemctl start capsule@NAME.service gestartet und mittels systemctl stop capsule@NAME.service gestoppt werden. Starten einer Kapsel erstellt implizit ein Home-Verzeichnis /var/lib/capsules/NAME/, falls es fehlt. Ein Laufzeitverzeichnis wird als /run/capsules/NAME/ erstellt. Um diese Ressourcen zu entfernen, verwenden Sie systemctl clean capsule@NAME.service, beispielsweise mit dem Schalter --what=all.

Die Unit capsule@.service ruft einen Diensteverwalterprozess systemd --user auf. Dies bedeutet, das nach Unit-Dateien auf die gleiche Art gesucht wird, wie nach regulären Benutzerdiensteverwaltern, beispielsweise in /var/lib/capsules/NAME/.config/systemd/user/.

Kapselnamen können frei durch den Benutzer ausgewählt werden, allerdings müssen sie als UNIX-Dateinamen geeignet sein (d.h. maximal 255 Zeichen lang und sie dürfen kein »/« enthalten) und, wenn ihnen »p-« vorangestellt wird, müssen sie als Benutzernamen, der streng den POSIX-Regeln folgt, geeignet sein, siehe Benutzer-/Gruppennamen-Syntax[1] zu Details.

Hinzugefügt in Version 256.

BEISPIELE

Beispiel 1. Erstellen einer neuen Kapsel, aufrufen von zwei darin enthaltenen Programmen (eins interaktiv), es beenden und alles wieder aufräumen

    # systemctl start capsule@tatze.service
    # systemd-run --capsule=tatze --unit=sleeptest.service sleep 999
    # systemctl --capsule=tatze status sleeptest.service
    # systemd-run -t --capsule=tatze bash
    # systemctl --capsule=tatze stop sleeptest.service
    # systemctl stop capsule@tatze.service
    # systemctl clean --all capsule@tatze.service

SIEHE AUCH

systemd(1), user@.service(5), systemd.service(5), systemd.slice(5), systemd.exec(5), systemd.special(7), systemctl(1), systemd-run(1), busctl(1), pam(8)

ANMERKUNGEN

1.  Benutzer-/Gruppennamen-Syntax
    https://systemd.io/USER_NAMES

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