PORTABLECTL(1) | portablectl | PORTABLECTL(1) |
BEZEICHNUNG¶
portablectl - Portierbare Diesteabbilder anhängen, abhängen oder untersuchen
ÜBERSICHT¶
portablectl [OPTIONEN…] {BEFEHL} [NAME…]
BESCHREIBUNG¶
portablectl kann zum Anhängen, Abhängen und Untersuchen von portablen Diensteabbildern verwandt werden. Es ist primär eine Befehlsschnittstelle zu systemd-portabled.service(8).
Portierbare Diensteabbilder enthalten einen Dateisystembaum eines Betriebssystems zusammen mit systemd(1)-Unit-Dateiinformationen. Ein Diensteabbild kann an das lokale System »angehängt« sein. Falls angehängt, wird eine Gruppe von Unit-Dateien von dem Abbild zum Rechner kopiert und mit der Zuweisung RootDirectory= oder RootImage= erweitert (im Falle von Dienste-Units), die auf die Abbild-Datei oder das Abbild-Verzeichnis zeigen. Damit ist sichergestellt, dass die Dienste innerhalb des Dateisystemkontextes des Abbildes ausgeführt werden.
Portierbare Diensteabbilder stellen eine effiziente Art dar, mehrere zusammengehörige Dienste und andere Units zu bündeln und sie als ganzes zwischen Maschinen zu übertragen. Wenn diese Abbilder an das lokale System angebunden werden, können die enthaltenen Units größtenteils wie reguläre, vom System bereitgestellte Units ausgeführt werden, abhängig von der ausgewählten Konfiguration entweder mit kompletten Privilegien oder innerhalb einer strengen Sandbox-Umgebung. Für weitere Details siehe die Portable-Dienste[1].
Portierbare Diensteabbilder können von folgendem Typ sein:
BEFEHLE¶
Die folgenden Befehle werden verstanden:
list
Hinzugefügt in Version 239.
attach ABBILD [PRÄFIX…]
Wenn ein portierbarer Dienst angehängt wird, erfolgen vier Aktionen:
Standardmäßig werden alle Unit-Dateien, deren Namen mit einem aus der Abbilddatei erstellten Präfix beginnen, rauskopiert. Das Präfix wird konkret aus dem Abbildnamen bestimmt, wobei jede Endung wie ».raw« entfernt wird und der Name beim ersten Auftreten eines Unterstrichs (»_«) abgeschnitten wird, falls einer vorhanden ist. Die Unterstrich-Logik soll der Versionierung dienen, so dass eine Abbilddatei »foobar_47.11.raw« zu einer Unit-Datei, die auf das Präfix »foobar« passt, führt. Dieses Präfix wird dann mit allen Unit-Dateien, die im Abbild in den gewöhnlichen Verzeichnissen enthalten sind, verglichen, aber nur Unit-Dateinamen, bei denen auf das Präfix »-«, ».« oder »@« folgen, werden betrachtet. Beispiel: Falls eine portierbare Diensteabbilddatei den Namen »foobar_47.11.raw« trägt, dann werden standardmäßig alle seine Unit-Dateien mit Namen wie foobar-quux-waldi.service, foobar.service or foobar@.service in Betracht gezogen. Es ist möglich, das Vergleichspräfix außer Kraft zu setzen: alle Zeichenketten, die auf der Befehlszeile nach dem Abbildnamen aufgeführt sind, werden als Präfix betrachtet und setzen damit die implizite Logik außer Kraft, bei der das Präfix aus dem Abbilddateinamen abgeleitet wird.
Standardmäßig wird die Konfiguration des Diensteverwalters neugestartet, nachdem die Unit-Dateien angehängt wurden, außer --no-reload ist angegeben (siehe unteunten). Dies stellt sicher, dass die neuen Units, die dem Diensteverwalter zur Verfügung gestellt wurden, von diesem auch gesehen werden.
Falls --now und/oder --enable übergeben werden, werden die portierbaren Dienste sofort gestartet (blockieren, außer --no-block wurde übergeben) und/oder aktiviert, nachdem das Abbild angehängt wurde.
Anstelle des Abbildpfades kann ein versioniertes Verzeichnis ».v/« angegeben werden, siehe systemd.v(7) zu Details.
Anstelle des Verzeichnispfades kann ein versioniertes Verzeichnis ».v/« angegeben werden, siehe systemd.v(7) zu Details.
Hinzugefügt in Version 239.
detach ABBILD [PRÄFIX…]
Falls --now und/oder --enable übergeben werden, werden die portierbaren Dienste sofort gestoppt (blockierende Aktion) und/oder deaktiviert, bevor das Abbild abgehängt wird. Präfix(e) werden auch für den Fall akzeptiert, dass die Unit-Namen nicht auf die Abbildnamen (siehe die Beschreibung bei attach) passen.
Hinzugefügt in Version 239.
reattach ABBILD [PRÄFIX…]
Falls --now und/oder --enable übergeben werden, werden die portierbaren Dienste sofort gestoppt, falls sie entfernt werden und/oder aktiviert, falls sie hinzugefügt werden, oder neugestartet, falls sie aktualisiert werden. Präfix(e) werden auch akzeptiert, wie im Fall attach.
Hinzugefügt in Version 248.
inspect ABBILD [PRÄFIX…]
Hinzugefügt in Version 239.
is-attached ABBILD
Tabelle 1. Abbildanhängezustände
Zustand | Beschreibung |
detached | Das Abbild ist derzeit nicht angehängt. |
attached | Das Abbild ist derzeit angehängt, d.h. seine Unit-Dateien wurden dem System zur Verfügung gestellt. |
attached-runtime | Wie attached, aber die Unit-Dateien wurden nur vorübergehend verfügbar gemacht, d.h. der Befehl attach wurde mit der Option --runtime aufgerufen. |
enabled | Das Abbild ist derzeit angehängt und mindestens eine ihr zugeordnete Unit-Datei wurde aktiviert. |
enabled-runtime | Wie enabled, aber die Unit-Dateien wurden nur vorübergehend verfügbar gemacht, d.h. der Befehl attach wurde mit der Option --runtime aufgerufen. |
running | Das Abbild ist derzeit angehängt und mindestens eine ihr zugeordnete Unit-Datei wird ausgeführt. |
running-runtime | Das Abbild ist derzeit vorübergehend angehängt und mindestens eine ihr zugeordnete Unit-Datei wird ausgeführt. |
Hinzugefügt in Version 239.
read-only ABBILD [LOGISCH]
Hinzugefügt in Version 239.
remove ABBILD…
Hinzugefügt in Version 239.
set-limit [ABBILD] BYTES
Beachten Sie, dass die Abbild-bezogenen Größenbeschränkungen nur auf Btrfs-Dateisystemen unterstützt werden. Auch können, abhängig von der Einstellung BindPaths= in der portierbaren Dienste-Unit-Datei, Verzeichnisse während der Laufzeit in der Abbild-Umgebung sichtbar werden, die von dieser Einschränkung nicht betroffen sind, da nur das Abbild selbst gegenüber der Beschränkung betrachtet wird.
Hinzugefügt in Version 239.
OPTIONEN¶
Die folgenden Optionen werden verstanden:
-q, --quiet
Hinzugefügt in Version 239.
-p PROFIL, --profile=PROFIL
Hinzugefügt in Version 239.
--copy=
Hinzugefügt in Version 239.
--runtime
Hinzugefügt in Version 239.
--no-reload
Hinzugefügt in Version 239.
--cat
Hinzugefügt in Version 239.
--enable
Hinzugefügt in Version 245.
--now
Hinzugefügt in Version 245.
--no-block
Hinzugefügt in Version 245.
--clean
Hinzugefügt in Version 256.
--extension=PFAD
Beachten Sie, dass die gleichen Erweiterungen, in der gleichen Reihenfolge, bei Anhängen und Abhängen angegeben werden müssen.
Anstelle des Abbildpfades kann ein versioniertes Verzeichnis ».v/« angegeben werden, siehe systemd.v(7) zu Details.
Anstelle des Verzeichnispfades kann ein versioniertes Verzeichnis ».v/« angegeben werden, siehe systemd.v(7) zu Details.
Hinzugefügt in Version 249.
--force
Hinzugefügt in Version 252.
-H, --host=
-M, --machine=
--no-pager
--no-legend
--no-ask-password
-h, --help
--version
DATEIEN UND VERZEICHNISSE¶
Portierbare Dienste-Abbilder werden bevorzugt in /var/lib/portables/ gespeichert, werden aber auch in /etc/portables/, /run/systemd/portables/, /usr/local/lib/portables/ und /usr/lib/portables/ gesucht. Es wird empfohlen, Abbild-Dateien nicht direkt in /etc/portables/ oder /run/systemd/portables/ abzulegen (da diese im Allgemeinen nicht zum Speichern großer oder nichttextueller Daten geeignet sind), sondern diese Verzeichnisse nur zum Verlinken von Abbildern, die sich woanders befinden, in den Suchpfad zu verwenden.
Wenn ein portierbares Dienste-Abbild angehängt wird, werden passende Unit-Dateien auf den Rechner in die Verzeichnisse /etc/systemd/system.attached/ und /run/systemd/system.attached/ kopiert. Beim Abhängen des Abbildes werden die Unit-Dateien aus diesen Verzeichnissen wieder entfernt.
PROFILE¶
Wird ein portierbares Dienste-Abbild angehängt, wird eine »Profil«-Ergänzung hereingelinkt, die zur Erzwingung zusätzlicher lokaler Sicherheitsbeschränkungen (und weiterer) verwandt werden kann. Standardmäßig sind vier Profilergänzungen definiert und werden in /usr/lib/systemd/portable/profile/ ausgeliefert. Zusätzlich können lokale Profile definiert werden, indem diese in /etc/systemd/portable/profile/ abgelegt werden. Die Standardprofile sind:
Tabelle 2. Profile
Name | Beschreibung |
default | Dies ist das Standard-Profil, falls nicht mit --profile= ein anderer Profilname gesetzt ist (siehe oben). Es ist recht einschränkend, sollte aber für typische, nicht privilegierte Systemarbeiten geeignet sein. Dazu gehören Schreibzugriff auf das Protokollierungsrahmenwerk sowie IPC-Zugriff auf das D-Bus-System. |
nonetwork | Sehr ähnlich zu »default«, aber Netzwerk ist für alle Dienste des portablen Dienste-Abbilds abgeschaltet. |
strict | Ein Profil mit sehr strengen Einstellungen. Dieses Profil schließt IPC- (D-Bus) und Netzwerkzugriff aus. |
trusted | Ein Profil mit sehr entspannten Einstellungen. In diesem Profil laufen die Dienste mit vollen Privilegien. |
Für Details über diese Profile und ihre Auswirkungen schauen Sie bitte auf ihre genauen Definitionen, z.B. /usr/lib/systemd/portable/profile/default/service.conf und ähnliche.
EXIT-STATUS¶
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.
UMGEBUNGSVARIABLEN¶
$SYSTEMD_LOG_LEVEL
$SYSTEMD_LOG_COLOR
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten gemäß ihrer Protokollierungsstufe einfärben.
$SYSTEMD_LOG_TIME
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhängen.
$SYSTEMD_LOG_LOCATION
Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Einträgen angehängt ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch sein.
$SYSTEMD_LOG_TID
Beachten Sie, dass diese Informationen sowieso als Metadaten an Journal-Einträge angehängt wird. Die Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch sein.
$SYSTEMD_LOG_TARGET
$SYSTEMD_LOG_RATELIMIT_KMSG
$SYSTEMD_PAGER, $PAGER
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren des Seitenanzeigeprogramms (mit »cat« oder »«) verwandt werden und werden ansonsten ignoriert.
$SYSTEMD_LESS
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.
X
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die Ausführung von less(1) durch systemd(1)-Werkzeuge hat.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Ausführungen von less(1) durch systemd(1)-Werkzeuge hat.
$SYSTEMD_PAGERSECURE
Diese Option akzeptiert ein logisches Argument. Ist es auf »true« gesetzt, wird der »Sichere Modus« des Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt. Dies weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder Erstellen von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren. Derzeit ist nur von less(1) bekannt, dass es diese Variable versteht und den »Sicheren Modus« implementiert.
Ist diese Variable auf »false« gesetzt, unterliegt das Seitenanzeigeprogramm keinen Beschränkungen. Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung könnte den Benutzern die Ausführung beliebiger Befehle erlauben.
Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die Systemd-Werkzeuge automatisch herauszufinden, ob der »Sicheren Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies unterstützt. Der »Sichere Modus« wird aktiviert, falls die effektive UID nicht mit der UID des Eigentümers der Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausführung unter Werkzeugen wie sudo(8) oder ähnlichem erfolgt ($SUDO_UID ist gesetzt [2]). In diesen Fällen wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie den »Sicheren Modus« unterstützen, werden überhaupt nicht verwandt. Beachten Sie, dass diese automatische Erkennung nur die typischsten Mechanismen zur Erlangung von Privilegien abdeckt und dem Komfort dient. Es wird empfohlen, explizit $SYSTEMD_PAGERSECURE zu setzen oder das Seitenanzeigeprogramm zu deaktivieren.
Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein muss, damit die Variablen $SYSTEMD_PAGER oder $PAGER (außer zum Deaktivieren des Seitenanzeigeprogramms) berücksichtigt werden.
$SYSTEMD_COLORS
$SYSTEMD_URLIFY
SIEHE AUCH¶
systemd(1), systemd-sysext(8), org.freedesktop.portable1(5), systemd-portabled.service(8), importctl(1)
ANMERKUNGEN¶
- 1.
- Portable Dienste
- 2.
- Es wird für andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu überprüfen und es als allgemeine Schnittstelle zu behandeln.
Ü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 die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
systemd 257.6 |