RUN0(1) run0 RUN0(1) BEZEICHNUNG run0 - Privilegien erhohen UBERSICHT run0 [OPTIONEN] [BEFEHL] BESCHREIBUNG run0 kann dazu verwandt werden, temporar und interaktiv erhohte oder andere Privilegien zu erhalten. Es dient einem ahnlichen Zweck wie sudo(8), arbeitet aber in einer Reihe von zentralen Bereichen anders: o Es werden keine Ausfuhrungs- oder Sicherheits-Zugangsberechtigungen von dem Aufrufenden in die aufgerufenen Befehle ubernommen, da diese in frischen, isolierten Diensten aufgerufen werden, die vom Diensteverwalter abgetrennt werden. o Die Authentifizierung findet mittels Polkit[1] statt, damit wird (falls moglich) die Authentifizierungs-Eingabeaufforderung vom Terminal getrennt. o Es wird ein unabhangiges Pseudo-TTY fur den aufgerufenen Befehl reserviert, dessen Lebenszyklus abgetrennt und das aus Sicherheitsgrunden isoliert ist. o Fur die Implementierung wird keine SetUID/SetGID-Dateizugriffsfunktionalitat verwandt. Insgesamt sollte dies eine sichere und robustere Alternative zum Mechanismus sudo bereitstellen, insbesondere in Betriebssystemumgebungen, bei denen SetUID/SetGID-Unterstutzung nicht verfugbar ist (beispielsweise durch Setzen der Variablen NoNewPrivileges= in systemd-system.conf(5)). Jede mittels run0 aufgerufene Sitzung durchlauft den PAM-Stapel >>systemd-run0<<. Beachten Sie, dass run0 als alternative Aufrufmoglichkeit fur systemd-run(1) implementiert ist. Dies bedeutet, dass run0 ein symbolischer Link auf das Programm systemd-run ist und sich als run0 verhalt, wenn es mittels des symbolischen Links aufgerufen wird und andernfalls als systemd-run verhalt. OPTIONEN Die folgenden Optionen werden verstanden: --unit= Verwendet diesen Unit-Namen statt eines automatisch erstellten. Hinzugefugt in Version 256. --property= Setzt eine Eigenschaft der erstellten Dienste-Unit. Diese Option akzeptiert eine Zuweisung im gleichen Format wie der Befehl set-property von systemctl(1). Hinzugefugt in Version 256. --description= Stellt eine Beschreibung fur die aufgrufene Dienste-Unit bereit. Falls nicht angegeben, wird der Befehl selbst als Beschreibung verwandt. Siehe Description= in systemd.unit(5). Hinzugefugt in Version 256. --slice= Fugt die neue Unit .service zu der angegebenen Scheibe hinzu, anstatt user.slice zu verwenden. Hinzugefugt in Version 256. --slice-inherit Fugt die neue Unit .service zu der Scheibe hinzu, in der auch run0 selbst aufgerufen wurde. Diese Option kann mit --slice= kombiniert werden, dann wird die mittels --slice= angegebene Scheibe innerhalb der Scheibe abgelegt, in der der Befehl run0 aufgerufen wird. Beispiel: Wenn run0 in der Scheibe foo.slice aufgerufen wird und das Argument --slice= bar lautet, dann wird die Unit unter foo-bar.slice platziert. Hinzugefugt in Version 256. --user=, -u, --group=, -g Schaltet zu dem angegebenen Benutzer/der angegebenen Gruppe (anstelle von root) um. Hinzugefugt in Version 256. --nice= Fuhrt die aufgerufene Sitzung mit der angegebenen Nice-Stufe aus. Hinzugefugt in Version 256. --chdir=, -D Fuhrt die aufgerufene Sitzung mit dem angegebenen Arbeitsverzeichnis aus. Falls nicht angegeben ist die Vorgabe das aktuelle Arbeitsverzeichnis beim Wechsel zum Benutzer root, oder andernfalls das Home-Verzeichnis des Zielbenutzers. Hinzugefugt in Version 256. --setenv=NAME[=WERT] Fuhrt die aufgerufene Sitzung mit der angegebenen Umgebungsvariablen gesetzt aus. Dieser Parameter kann mehrfach verwandt werden, um mehrere Variablen zu setzen. Fehlen >>=<< und Wert, dann wird der Wert der Variablen mit dem gleichen Namen in der aufrufenden Umgebung verwandt. Hinzugefugt in Version 256. --background=FARBE Andert die Terminal-Hintergrundfarbe zu der angegebenen ANSI-Farbe solange die Sitzung lauft. Falls nicht angegeben, wird der Hintergrund in einem rotlichen Ton gefarbt, wenn als root gearbeitet wird, und in einem gelblichen Ton, wenn unter einer anderen UID gearbeitet wird, um an geanderte Privilegien zu erinnern. Die angegebene Farbe sollte eine ANSI-X3.64-SGR-Hintergrundfarbe sein, d.h. Zeichenketten wie >>40<<, >>41<<, , >>47<<, >>48;2;<<, >>48;5;<<. Siehe ANSI-Maskier-Code (Wikipedia)[2] zu Details. Setzen Sie dies auf eine leere Zeichenkette, um es zu deaktivieren. Beispiel: >>--background=44<< fur einen blauen Hintergrund. Hinzugefugt in Version 256. --pty, --pipe Erbittet die Reservierung eines Pseudo-TTY fur die run0-Sitzung (falls --pty) oder erbittet die direkte Durchreiche des STDIO-Dateideskriptors des Aufrufenden (falls --pipe). Falls keiner der Schalter oder beide angegeben sind, wird der Modus automatisch ermittelt: falls die Standardeingabe, die Standardausgabe und die Standardfehlerausgabe alle mit einem TTY verbunden sind, dann wird ein Pseudo-TTY reserviert, andernfalls werden die relevanten Dateideskriptoren direkt durchgereicht. Hinzugefugt in Version 257. --shell-prompt-prefix=ZEICHENKETTE Setzt die Zeichenkette fur die Shell-Eingabeaufforderung. Dies steuert am Ende die Umgebungsvariable $SHELL_PROMPT_PREFIX fur das aufgerufene Programm, die typischerweise in die Shell-Eingabeaufforderung importiert wird. Standardmassig - falls Emojis unterstutzt werden - wird ein Superheld () dargestellt. Die Vorgabe kann durch Ubergabe der Umgebungsvariablen $SYSTEMD_RUN_SHELL_PROMPT_PREFIX an run0 auch geandert (oder ausgeschaltet) werden, siehe unten. Setzen Sie dies auf eine leere Zeichenkette, um das Voranstellen vor die Shell-Eingabeaufforderung zu deaktivieren. Hinzugefugt in Version 257. --machine= Fuhrt die Aktion in einem lokalen Container aus. Geben Sie einen Containernamen an, zu dem verbunden werden soll. Hinzugefugt in Version 256. --no-ask-password Befragt den Benutzer nicht fur Authentifizierung fur privilegierte Aktionen. -h, --help Zeigt einen kurzen Hilfetext an und beendet das Programm. --version Zeigt eine kurze Versionszeichenkette an und beendet das Programm. Alle Befehlszeilenargumente nach dem ersten nicht optionalen Argument werden Teil der Befehlszeile des gestarteten Prozesses. Falls keine Befehlszeile angegeben wurde, wird eine interaktive Shell aufgerufen. Die aufzurufende Shell kann mittels --setenv=SHELL= gesteuert werden und die Vorgabe ist derzeit die ursprungliche Shell des Benutzers (d.h. nicht die des Zielbenutzers), falls lokal gearbeitet wird, oder /bin/sh bei der Verwendung mit --machine=. EXIT-STATUS Im Erfolgsfall wird 0 zuruckgeliefert. Falls run0 die Sitzung nicht starten konnte oder der angegebene Befehl fehlschlagt, wird ein von Null verschiedener Wert zuruckgeliefert. UMGEBUNGSVARIABLEN Wie bei systemd-run(1) wird die Sitzung die Systemumgebung aus dem Diensteverwalter erben. Zusatzlich werden die folgenden Variablen gesetzt: $TERM Vom $TERM des Aufrufenden kopiert. Kann mit --setenv= ausser Kraft gesetzt werden. Hinzugefugt in Version 256. $SUDO_USER Auf den Benutzernamen des ursprunglichen Benutzers gesetzt. Hinzugefugt in Version 256. $SUDO_UID Auf die numerische UNIX-Benutzerkennung des ursprunglichen Benutzers gesetzt. Hinzugefugt in Version 256. $SUDO_GID Auf die primare numerische UNIX-Gruppenkennung der ursprunglichen Sitzung gesetzt. Hinzugefugt in Version 256. $SHELL_PROMPT_PREFIX Standardmassig auf das Superheld-Emoji gesetzt (falls unterstutzt), kann aber mit der Umgebungsvariablen $SYSTEMD_RUN_SHELL_PROMPT_PREFIX (siehe unten) oder dem Schalter --shell-prompt-prefix= (siehe oben) ausser Kraft gesetzt werden. Hinzugefugt in Version 257. Die folgenden Variablen konnen an run0 ubergeben werden: $SYSTEMD_RUN_SHELL_PROMPT_PREFIX Falls gesetzt, setzt dies den Standard-Shell-Eingabeaufforderung-Prafix, den run0 fur die aufgerufene Shell setzt (das Superheld-Emoji), ausser Kraft. Setzten Sie dies auf eine leere Zeichenkette, um das Voranstellen von Text vor die Shell-Eingabeaufforderung zu deaktivieren. Hinzugefugt in Version 257. SIEHE AUCH systemd(1), systemd-run(1), sudo(8), machinectl(1) ANMERKUNGEN 1. Polkit https://www.freedesktop.org/wiki/Software/polkit 2. ANSI-Maskier-Code (Wikipedia) https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters 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 257 RUN0(1)