mkosi-sandbox(1) General Commands Manual mkosi-sandbox(1) BEZEICHNUNG mkosi-sandbox - Befehle in einer angepassten Sandbox ausfuhren UBERSICHT mkosi-sandbox [Optionen] Befehl [Argumente] BESCHREIBUNG mkosi-sandbox fuhrt den angegebenen Befehl in einer angepassten Sandbox aus. Diese Sandbox wird durch die Angabe von Befehlszeilenoptionen fur bestimmte Teile der Sandbox konfiguriert. Falls kein Befehl angegeben ist, wird mkosi-sandbox bash(1) in der Sandbox starten. Beachten Sie, dass diese Sandbox nicht als Sicherheitsgrenze entwickelt wurde. Sie ist zur Ausfuhrung von Befehlen in einer isolierten Umgebung gedacht, so dass diese nicht vom Wirtsystem beeinflusst werden. Es ist moglich, mkosi-sandbox fur eine Prozess-interne Sandbox fur python(1)-Anwendung zu verwenden, indem es als Modul importiert wird und seine Hauptfunktion nur mit Optionen aufgerufen wird. Es wird fur die Ausfuhrung in diesem Fall keine Befehlszeile benotigt. Beispiel: import mkosi.sandbox mkosi.sandbox.main(["--become-root"]) print(os.getuid()) Es kann nur die Funktion main aufgerufen werden. Der Aufruf aller anderen Funktionen aus mkosi.sandbox wird nicht unterstutzt und konnte in zukunftigen Versionen zu Fehlern fuhren. OPTIONEN --tmpfs ZIEL Hangt ein neues Tmpfs unter ZIEL in der Sandbox ein. --dev ZIEL Richtet ein privates /dev unter ZIEL in der Sandbox ein. Dieses private /dev wird nur die grundlegenden Gerateknoten beinhalten, die fur eine funktionierende Sandbox notwendig sind (z.B. /dev/null) und keine tatsachlichen Gerate. --proc ZIEL Hangt /proc des Wirtsystems unter ZIEL in der Sandbox ein. --dir ZIEL Erstellt ein Verzeichnis und alle ubergeordneten Verzeichnisse unter ZIEL in der Sandbox. Alle Verzeichnisse werden mit Modus 755 erstellt, ausser der Pfad endet auf /tmp oder /var/tmp, dann wird es mit Modus 1777 erstellt. --bind QUELLE ZIEL Der Quellpfad QUELLE wird rekursiv unter ZIEL in der Sandbox bind-eingehangt. Der Einhangepunkt wird in der Sandbox erstellt, falls er nicht existiert. Es werden auch alle fehlenden Uberverzeichnisse in der Sandbox erstellt. Dem Quellpfad kann optional ein Zeichen + vorangestellt werden. In diesem Fall wird der Quellpfad relativ zum Sandbox-Wurzelverzeichnis anstatt zum Wurzelverzeichnis des Wirtsystems betrachtet. --bind-try QUELLE ZIEL Ahnlich wie --bind, schlagt aber nicht fehl, wenn der Quellpfad nicht existiert. --ro-bind QUELLE ZIEL Wie --bind, fuhrt aber eine schreibgeschutzte rekursive Bind-Einhangung durch. --ro-bind-try QUELLE ZIEL Wie --bind-try, fuhrt aber eine schreibgeschutzte rekursive Bind-Einhangung durch. --symlink QUELLE ZIEL Erstellt einen Symlink unter ZIEL in der Sandbox, der auf QUELLE zeigt. Falls ZIEL bereits existiert und eine Datei oder ein Symlink ist, wird ein temporarer Symlink erstellt und auf ZIEL eingehangt. --write DATEN ZIEL Schreibt die Zeichenkette aus DATEN an ZIEL in der Sandbox. --overlay-lowerdir VERZ Fugt VERZ vom Wirt als neues unteres Verzeichnis fur die nachste Overlayfs-Einhangung hinzu. --overlay-upperdir VERZ Setzt das obere Verzeichnis fur die nachste Overlayfs-Einhangung auf VERZ vom Wirt. Falls auf tmpfs gesetzt, werden das obere und das Arbeitsverzeichnis Unterverzeichnisse der frischen Tmpfs-Einhangung sein. --overlay-workdir VERZ Setzt das Arbeitsverzeichnis fur die nachste Overlayfs-Einhangung auf VERZ von dem Wirt. --overlay ZIEL Hangt ein neues Overlay-Dateisystem unter ZIEL in die Sandbox ein. Die unteren Verzeichnisse, das obere und das Arbeitsverzeichnis werden mittels der Optionen --overlay-lowerdir, --overlay-upperdir bzw. --overlay-workdir festgelegt. Nachdem jede Option --overlay ausgewertet wurde, werden die anderen Overlay-Optionen zuruckgesetzt. --unsetenv NAME Entfernt eine in der Sandbox gesetzte Umgebungsvariable NAME. --setenv NAME WERT Setzt in der Sandbox die Umgebungsvariable NAME auf WERT. --chdir VERZ Andert das Arbeitsverzeichnis in der Sandbox auf VERZ. --same-dir Andert das Arbeitsverzeichnis in der Sandbox auf das aktuelle Arbeitsverzeichnis, in dem mkosi-sandbox auf dem Wirt aufgerufen wurde. --become-root Bildet den aktuellen Benutzer auf den Benutzer >>root<< in der Sandbox ab. Falls diese Option nicht angegeben ist, wird der aktuelle Benutzer in der Sandbox auf sich selbst abgebildet. Unabhangig von der Angabe dieser Option wird der aktuelle Benutzer einen vollstandigen Satz an Umgebungs-Capabilitys in der Sandbox haben. Dazu gehort CAP_SYS_ADMIN, was bedeutet, dass der aufgerufene Prozess in der Sandbox in der Lage sein wird, Bind-Einhangungen und andere Aktionen durchzufuhren. Falls mkosi-sandbox als Benutzer root aufgerufen wird, macht diese Option nichts. --suppress-chown Durch Angabe dieser Option werden alle Aufrufe von chown() oder ahnliche Systemaufrufe in der Sandbox wirkungslos. Dies ist hauptsachlich fur den Aufruf von Paketverwaltern in der Sandbox nutzlich, da diese versuchen konnten, Dateien mittels chown() auf andere Benutzer oder Gruppen zu andern und dies fehlschlagen konnte, wenn mkosi-sandbox nicht als privilegierter Benutzer aufgerufen wird. --suppress-sync Durch Angabe dieser Option werden alle Aufrufe von sync(2) oder ahnliche Systemaufrufe in der Sandbox wirkungslos. Dies ist hauptsachlich fur den Aufruf von Paketverwaltern in der Sandbox nutzlich, da diese versuchen konnten, auf Dateien sync(2) beim Entpacken aufzurufen, was beim Bau von Abbildern unnotig ist und die Ausfuhrungsdauer merklich verlangert. --unshare-net Durch Angabe dieser Option trennt mkosi-sandbox wenn moglich einen Netzwerknamensraum ab. --unshare-ipc Durch Angabe dieser Option trennt mkosi-sandbox wenn moglich einen IPC-Namensraum ab. --suspend Fuhrt dazu, dass sich der Prozess mkosi-sandbox selbst mit SIGSTOP suspendiert, bevor er execve(2) aufruft. Dies ist nutzlich, damit auf die Beendigung samtlicher Einrichtungslogik gewartet wird, bevor im ubergeordneten Prozess, der mkosi-sandbox aufgerufen hat, durch Verwendung waitid(2) mit den Schaltern WNOWAIT UND WSTOPPED fortgefahren wird. --pack-fds Packt geerbte Dateideskriptoren zusammen, beginnend bei Dateideskriptornummer 3 und setzt $LISTEN_FDS auf die Anzahl der gepackten Dateideskriptoren und $LISTEN_PID auf die aktuelle Prozess-PID. --version Zeigt die Paketversion. --help, -h Zeigt einen kurzen Hinweis zum Aufruf. BEISPIELE bash(1) im aktuellen Arbeitsverzeichnis mit seinem eigenen Netzwerknamensraum als aktuellen Benutzer starten: mkosi-sandbox --bind / / --same-dir --unshare-net id(1) als der Benutzer root mit nur /usr vom Hauptsystem sowie den notwendigen Symlinks, um Befehle ausfuhren zu konnen, in der Sandbox ausfuhren: mkosi-sandbox \ --ro-bind /usr /usr \ --symlink usr/bin /bin \ --symlink usr/lib /lib \ --symlink usr/lib64 /lib64 \ --symlink usr/sbin /sbin \ --dev /dev \ --proc /proc \ --tmpfs /tmp \ --become-root \ id SIEHE AUCH mkosi(1) 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 . mkosi-sandbox(1)