NSENTER(1)

BEZEICHNUNG
nsenter - 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. 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 Prozess-ID-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 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 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.

OPTIONEN
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 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 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 Prozess-ID-Namensraum. Wenn keine Datei angegeben ist, wird in den Prozess-ID-Namensraum des Zielprozesses gewechselt. Wenn Datei angegeben ist, wird in den Prozess-ID-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 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.

SIEHE AUCH
clone(2), setns(2), namespaces(7)

AUTOREN
Eric Biederman (biederm@xmission.com)
Karel Zak (kzak@redhat.com)

VERFÜGBARKEIT
Der Befehl nsenter ist Teil des Pakets util-linux, welches aus dem Linux Kernel-Archiv (https://www.kernel.org/pub/linux/utils/util-linux/). 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>.