nsenter - Programme im Namensraum anderer Prozesse
ausführen
ÜBERSICHT
nsenter [Optionen] [Programm [Argumente]]
Das Programm wechselt in den Namensraum eines oder mehrerer
Prozesse und führt dann das angegebene Programm aus. Falls
Programm nicht angegeben ist, dann wird »${SHELL}«
ausgeführt (Vorgabe: /bin/sh).
Wechselfähige Namensräume sind:
- Einhänge-Namensraum
- Ein- und Aushängen eines Dateisystems wirkt sich nicht auf das
übrige System aus, 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). Für weitere Details siehe
mount_namespaces(7) und die Diskussion des Schalters
CLONE_NEWNS in clone(2).
- UTS-Namensraum
- Setzen des Rechner- oder Domain-Namens wird den Rest des Systems nicht
betreffen. Für weitere Details siehe namespaces(7) und die
Diskussion des Schalters CLONE_NEWUTS in clone(2).
- IPC-Namensraum
- Der Prozess erhält einen unabhängigen Namensraum für
POSIX-Meldungswarteschlangen sowie System-V-Meldungswarteschlangen,
Semaphor-Gruppen und gemeinsam genutzte Speichersegmente. Für
weitere Details siehe namespaces(7) und die Diskussion des
Schalters CLONE_NEWIPC in clone(2).
- Netz-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.. Für
weitere Details siehe namespaces(7) und die Diskussion des
Schalters CLONE_NEWNET in clone(2).
- PID-Namensraum
- Kindprozesse erhalten einen eigenen Satz an PID-auf-Prozess-Abbildungen
separat vom nsenter-Prozess. Für weitere Details siehe
pid_namespaces(7) und die Diskussion des Schalters
CLONE_NEWPID in. nsenter ruft standardmäßig
»fork« auf, wenn in den PID-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 wird über eine eindeutige Gruppe an UIDs, GIDS und
Capabilities verfügen. Für weitere Details siehe
user_namespaces(7) und die Diskussion des Schalters
CLONE_NEWUSER in clone(2).
- Cgroup-Namensraum
- Der Prozess wird über einen virtualisierten Blick auf
/proc/self/cgroup verfügen und neue
Cgroup-Einhängungen werden ihre Wurzel in der Wurzel der
Cgroup-Namensraum-Wurzel haben. Für weitere Details siehe
cgroup_namespaces(7) und die Diskussion des Schalters
CLONE_NEWCGROUP in clone(2).
- In clone(2) finden Sie die
exakte Semantik der Schalter.
Verschiedene der unten beschriebenen Optionen, die sich auf
Namensräume beziehen, akzeptieren ein optionales Argument
file. Dies sollte eine aus den in namespaces(7) beschriebenen
Dateien unter /proc/[PID]/ns/ sein.
- -a, --all
- Wechselt in alle Namensräume des Zielprozesses mittels der
Vorgabe-Namensräumepfade /proc/[PID]/ns/*. Die Vorgabepfade
zum Zielprozessnamensraum können mittels namensraumspezifischer
Optionen (z.B. --all --mount=[Pfad]) überschrieben werden.
Die Benutzer-Namensräume werden ignoriert, falls sie
mit dem Namensraum des aktuell Aufrufenden identisch sind. Es verhindert
einen Aufrufenden, der Capabilities abgegeben hat, diese Capabilities
mit einem Aufruf von setns() wiederzuerlangen. Siehe setns(2)
für weitere Details.
- -t, --target
PID
- gibt einen Zielprozess an, aus dem die Kontexte ermittelt werden sollen.
Die Pfade der durch die PID anzugebenden Kontexte sind:
-
- /proc/PID/ns/mnt
- der Einhänge-Namensraum
- /proc/PID/ns/uts
- der UTS-Namensraum
- /proc/PID/ns/ipc
- der IPC-Namensraum
- /proc/PID/ns/net
- der Netzwerk-Namensraum
- /proc/PID/ns/pid
- der PID-Namensraum
- /proc/PID/ns/user
- der Benutzer-Namensraum
- /proc/PID/ns/cgroup
- der Cgroup-Namensraum
- /proc/PID/root
- das Wurzelverzeichnis
- /proc/PID/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
Datei angegeben ist, wird in den Einhänge-Namensraum der
angegebenen Datei gewechselt.
- -u,
--uts[=Datei]
- wechselt in den UTS-Namensraum. Wenn keine Datei angegeben ist, wird in
den UTS-Namensraum des Zielprozesses gewechselt. Wenn Datei
angegeben ist, wird in den UTS-Namensraum der angegebenen Datei
gewechselt.
- -i,
--ipc[=Datei]
- wechselt in den IPC-Namensraum. Wenn keine Datei angegeben ist, wird in
den IPC-Namensraum des Zielprozesses gewechselt. Wenn Datei
angegeben ist, wird in den IPC-Namensraum der angegebenen Datei
gewechselt.
- -n,
--net[=Datei]
- wechselt in den Netzwerk-Namensraum. Wenn keine Datei angegeben ist, wird
in den Netzwerk-Namensraum des Zielprozesses gewechselt. Wenn Datei
angegeben ist, wird in den Netzwerk-Namensraum der angegebenen
Datei gewechselt.
- -p,
--pid[=Datei]
- wechselt in den PID-Namensraum. Wenn keine Datei angegeben ist, wird in
den PID-Namensraum des Zielprozesses gewechselt. Wenn Datei
angegeben ist, wird in den PID-Namensraum der angegebenen Datei
gewechselt.
- -U,
--user[=Datei]
- wechselt in den Benutzer-Namensraum. Wenn keine Datei angegeben ist, wird
in den Benutzer-Namensraum des Zielprozesses gewechselt. Wenn Datei
angegeben ist, wird in den Benutzer-Namensraum der angegebenen
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 Datei
angegeben ist, wird in den Cgroup-Namensraum der angegebenen Datei
gewechselt.
- -G, --setgid
GID
- legt die Gruppenkennung fest, die in dem Benutzer-Namensraum verwendet
wird, in den gewechselt werden soll und überspringt
zusätzliche Gruppen. nsenter(1) setzt stets die GID
für Benutzer-Namensräume, die Voreinstellung ist 0.
- -S, --setuid
UID
- legt die Benutzerkennung fest, die in dem Benutzer-Namensraum verwendet
wird, in den gewechselt werden soll. nsenter(1) setzt stets die UID
für Benutzer-Namensräume, die Voreinstellung ist 0.
- --preserve-credentials
- lässt die UID und GID unverändert, wenn in den
Benutzer-Namensraum gewechselt wird. In der Voreinstellung werden
zusätzliche Gruppen übersprungen und die GID und UID 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 PID-Namensraum
aufgerufen, so dass sich die jeweiligen Kindprozesse auch im neuen
PID-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.
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 <mario.blaettermann@gmail.com> und 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
<debian-l10n-german@lists.debian.org>.