table of contents
mkosi-sandbox(1) | mkosi-sandbox(1) |
BEZEICHNUNG¶
mkosi-sandbox – Befehle in einer angepassten Sandbox ausführen
ÜBERSICHT¶
mkosi-sandbox [Optionen…] Befehl [Argumente]
BESCHREIBUNG¶
mkosi-sandbox führt den angegebenen Befehl in einer angepassten Sandbox aus. Diese Sandbox wird durch die Angabe von Befehlszeilenoptionen für 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 Ausführung von Befehlen in einer isolierten Umgebung gedacht, so dass diese nicht vom Wirtsystem beeinflusst werden.
OPTIONEN¶
- --tmpfs ZIEL
- Hängt 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 Geräteknoten beinhalten, die für eine funktionierende Sandbox notwendig sind (z.B. /dev/null) und keine tatsächlichen Geräte.
- --proc ZIEL
- Hängt /proc des Wirtsystems unter ZIEL in der Sandbox ein.
- --dir ZIEL
- Erstellt ein Verzeichnis und alle übergeordneten Verzeichnisse unter ZIEL in der Sandbox. Alle Verzeichnisse werden mit Modus 755 erstellt, außer 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-eingehängt. Der Einhängepunkt wird in der Sandbox erstellt, falls er nicht existiert. Es werden auch alle fehlenden Überverzeichnisse in der Sandbox erstellt.
- --bind-try QUELLE ZIEL
- Ähnlich wie --bind, schlägt aber nicht fehl, wenn der Quellpfad nicht existiert.
- --ro-bind QUELLE ZIEL
- Wie --bind, führt aber eine schreibgeschützte rekursive Bind-Einhängung durch.
- --ro-bind-try QUELLE ZIEL
- Wie --bind-try, führt aber eine schreibgeschützte rekursive Bind-Einhängung 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 temporärer Symlink erstellt und auf ZIEL eingehängt.
- --write DATEN ZIEL
- Schreibt die Zeichenkette aus DATEN an ZIEL in der Sandbox.
- --overlay-lowerdir VERZ
- Fügt VERZ vom Wirt als neues unteres Verzeichnis für die nächste Overlayfs-Einhängung hinzu.
- --overlay-upperdir VERZ
- Setzt das obere Verzeichnis für die nächste Overlayfs-Einhängung auf VERZ vom Wirt. Falls auf tmpfs gesetzt, werden das obere und das Arbeitsverzeichnis Unterverzeichnisse der frischen Tmpfs-Einhängung sein.
- --overlay-workdir VERZ
- Setzt das Arbeitsverzeichnis für die nächste Overlayfs-Einhängung auf VERZ von dem Wirt.
- --overlay ZIEL
- Hängt 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 zurückgesetzt.
- --unsetenv NAME
- Entfernt eine in der Sandbox gesetzte Umgebungsvariable NAME.
- --setenv NAME WERT
- Setzt in der Sandbox die Umgebungsvariable NAME auf WERT.
- --chdir VERZ
- Ändert das Arbeitsverzeichnis in der Sandbox auf VERZ.
- --same-dir
- Ändert 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. Unabhängig von der Angabe dieser Option wird der aktuelle Benutzer einen vollständigen Satz an Umgebungs-Capabilitys in der Sandbox haben. Dazu gehört CAP_SYS_ADMIN, was bedeutet, dass der aufgerufene Prozess in der Sandbox in der Lage sein wird, Bind-Einhängungen und andere Aktionen durchzuführen.
Falls mkosi-sandbox als Benutzer root aufgerufen wird, macht diese Option nichts.
- --suppress-chown
- Durch Angabe dieser Option werden alle Aufrufe von chown() oder ähnliche Systemaufrufe in der Sandbox wirkungslos. Dies ist hauptsächlich für den Aufruf von Paketverwaltern in der Sandbox nützlich, da diese versuchen könnten, Dateien mittels chown() auf andere Benutzer oder Gruppen zu ändern und dies fehlschlagen könnte, wenn mkosi-sandbox nicht als privilegierter Benutzer aufgerufen wird.
- Durch Angabe dieser Option trennt mkosi-sandbox wenn möglich einen Netzwerknamensraum ab.
- Durch Angabe dieser Option trennt mkosi-sandbox wenn möglich einen IPC-Namensraum ab.
- --exec-fd DD
- Der angegebene DD wird geschlossen, wenn mkosi-sandbox execvp() aufruft. Dies ist nützlich, damit auf die Beendigung sämtlicher Einrichtungslogik gewartet wird, bevor im übergeordneten Prozess, der mkosi-sandbox aufgerufen hat, fortgefahren wird.
- --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 ausführen zu können, in der Sandbox ausführen:
-
mkosi-sandbox \
--ro-bind /usr /usr \
--symlink usr/bin /bin \
--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¶
Ü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.