nsenter(1) Programme im Namensraum anderer Prozesse ausführen

ÜBERSICHT

nsenter [Optionen] [Programm [Argumente]]

BESCHREIBUNG

Das Programm wechselt in den Namensraum eines oder mehrerer Prozesse und führt dann das angegebene Programm aus. Verfügbare Namensräume sind:
Einhänge-Namensraum
Ein- und Aushängen eines Dateisystems wirkt sich nicht auf das übrige System aus (Schalter CLONE_:NEWNS), außer für Dateisysteme, die ausdrücklich als gemeinsam zu nutzen markiert sind (mit mount --make-:shared; siehe /proc:/self:/mountinfo für den Schalter shared).
UTS-Namensraum
Das Festlegen von Rechner- oder Domainname wirkt sich nicht auf das übrige System aus (Schalter CLONE_:NEWUTS).
IPC-Namensraum
Der Prozess erhält einen unabhängigen Namensraum für System-V-Meldungswarteschlangen, Semaphor-Sätze und gemeinsam genutzte Speichersegmente (Schalter CLONE_:NEWIPC).
Netzwerk-Namensraum
Der Prozess erhält unabhängige IPv4- und IPv6-Stapel, IP-Routing-Tabellen, Firewall-Regeln, die Verzeichnisbäume /proc:/net und /sys:/class:/net, Sockets usw. (Schalter CLONE_:NEWNET).
PID-Namensraum
Kindprozesse erhalten einen eigenen Satz an Prozess-ID-auf-Prozess-Abbildungen separat vom nsenter-Prozess (Schalter CLONE_:NEWPID). nsenter ruft standardmäßig »fork« auf, wenn in den Prozess-ID-Namensraum gewechselt wird, so dass das neue Programm und dessen Kinder einen gemeinsamen Namensraum haben und füreinander sichtbar sind. Wenn --no-fork verwendet wird, wird das neue Programm ohne vorheriges Forken ausgeführt.
Benutzer-Namensraum
Der Prozess erhält einen eigenen Satz an Benutzer-IDs, Gruppen-IDs und Capabilities (Schalter CLONE_:NEWUSER).
Cgroup-Namensraum
Der Prozess wird über einen virtualisierten Blick auf /proc:/self:/cgroup verfügen und neue Cgroup-Einhängungen werden eine Wurzel bei der Wurzel der Cgroup haben. (Schalter CLONE_:NEWCGROUP)
In clone(2) finden Sie die exakte Semantik der Schalter.
Wenn kein Programm angegeben ist, dann wird ``${SHELL}'' ausgeführt (Voreinstellung: /bin:/sh).

OPTIONEN

-t, --target Prozess-ID
gibt einen Zielprozess an, aus dem die Kontexte ermittelt werden sollen. Die Pfade der durch die Prozess-ID anzugebenden Kontexte sind:
/proc/Prozess-ID/ns/mnt
der Einhänge-Namensraum
/proc/Prozess-ID/ns/uts
der UTS-Namensraum
/proc/Prozess-ID/ns/ipc
der IPC-Namensraum
/proc/Prozess-ID/ns/net
der Netzwerk-Namensraum
/proc/Prozess-ID/ns/pid
der Prozess-ID-Namensraum
/proc/Prozess-ID/ns/user
der Benutzer-Namensraum
/proc/Prozess-ID/ns/cgroup
der Cgroup-Namensraum
/proc/Prozess-ID/root
das Wurzelverzeichnis
/proc/Prozess-ID/cwd
das Arbeitsverzeichnis
-m, --mount[=Datei]
wechselt in den Einhänge-Namensraum. Wenn keine Datei angegeben ist, wird in den Einhänge-Namensraum der Zieldatei gewechselt. Wenn eine Datei angegeben ist, wird in den Einhänge-Namensraum dieser Datei gewechselt.
-u, --uts[=Datei]
wechselt in den UTS-Namensraum. Wenn keine Datei angegeben ist, wird in den UTS-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den UTS-Namensraum dieser Datei gewechselt.
-i, --ipc[=Datei]
wechselt in den IPC-Namensraum. Wenn keine Datei angegeben ist, wird in den IPC-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den IPC-Namensraum dieser Datei gewechselt.
-n, --net[=Datei]
wechselt in den Netzwerk-Namensraum. Wenn keine Datei angegeben ist, wird in den Netzwerk-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den Netzwerk-Namensraum dieser Datei gewechselt.
-p, --pid[=Datei]
wechselt in den Prozess-ID-Namensraum. Wenn keine Datei angegeben ist, wird in den Prozess-ID-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den Prozess-ID-Namensraum dieser Datei gewechselt.
-U, --user[=Datei]
wechselt in den Benutzer-Namensraum. Wenn keine Datei angegeben ist, wird in den Benutzer-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den Benutzer-Namensraum dieser Datei gewechselt. Siehe auch die Optionen --setuid und --setgid.
-C, --cgroup[=Datei]
wechselt in den Cgroup-Namensraum. Wenn keine Datei angegeben ist, wird in den Cgroup-Namensraum der Zieldatei gewechselt. Wenn eine Datei angegeben ist, wird in den Cgroup-Namensraum dieser Datei gewechselt.
-G, --setgid Gruppen-ID
legt die Gruppen-ID fest, die in dem Benutzer-Namensraum verwendet wird, in den gewechselt werden soll und überspringt zusätzliche Gruppen. nsenter(1) setzt stets die Gruppen-ID für Benutzer-Namensräume, die Voreinstellung ist 0.
-S, --setuid Benutzer-ID
legt die Benutzer-ID fest, die in dem Benutzer-Namensraum verwendet wird, in den gewechselt werden soll. nsenter(1) setzt stets die Benutzer-ID für Benutzer-Namensräume, die Voreinstellung ist 0.
--preserve-credentials
lässt die Benutzer-ID und Gruppen-ID unverändert, wenn in den Benutzer-Namensraum gewechselt wird. In der Voreinstellung werden zusätzliche Gruppen übersprungen und die Benutzer-ID und Gruppen-ID auf 0 gesetzt.
-r, --root[=Verzeichnis]
legt das Wurzelverzeichnis fest. Wenn kein Verzeichnis angegeben ist, wird in das Wurzelverzeichnis des Zielprozesses gewechselt. Wenn ein Verzeichnis angegeben ist, wird es zum neuen Wurzelverzeichnis.
-w, --wd[=Verzeichnis]
legt das Arbeitsverzeichnis fest. Wenn kein Verzeichnis angegeben ist, wird in das Arbeitsverzeichnis des Zielprozesses gewechselt. Wenn ein Verzeichnis angegeben ist, wird es zum neuen Arbeitsverzeichnis.
-F, --no-fork
veranlasst, dass »fork« vor dem Ausführen des angegebenen Programms nicht aufgerufen wird. In der Voreinstellung wird fork durch nsenter beim Wechsel in den Prozess-ID-Namensraum aufgerufen, so dass sich die jeweiligen Kindprozesse auch im neuen Prozess-ID-Namensraum befinden.
-Z, --follow-context
setzt den SELinux-Kontext, der für die Ausführung eines neuen Prozesses entsprechend des bereits durch --target PID angegebenen Prozesses verwandt wird. (Util-Linux muss mit SELinux-Unterstützung übersetzt worden sein, damit diese Option zur Verfügung steht.)
-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt diese Hilfe an und beendet das Programm.

AUTOREN

Eric Biederman
Karel Zak

VERFÜGBARKEIT

Der Befehl nsenter ist Teil des Pakets util-linux, welches aus dem Linux Kernel-Archiv heruntergeladen werden kann.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> und Helge Kreutzmann <[email protected]> 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 <[email protected]>.