NSENTER(1) Dienstprogramme fur Benutzer NSENTER(1) BEZEICHNUNG nsenter - Programme in anderen Namensraumen ausfuhren UBERSICHT nsenter [Optionen] [Programm [Argumente]] BESCHREIBUNG Der Befehl nsenter fuhrt das angegebene Programm im Namensraum oder den Namensraumen aus, der oder die in den Befehlszeilenoptionen angegeben sind (nachfolgend beschrieben). Falls kein Programm angegeben ist, dann wird >>${SHELL}<< ausgefuhrt (Vorgabe: /bin/sh). Wechselfahige Namensraume sind: Einhange-Namensraum Ein- und Aushangen eines Dateisystems wirkt sich nicht auf das ubrige System aus, ausser fur Dateisysteme, die ausdrucklich als Mehrfacheinhangungen markiert sind (mit mount --make-shared; siehe /proc/self/mountinfo fur den Schalter shared). Fur 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. Fur weitere Details siehe uts_namespaces(7). IPC-Namensraum Der Prozess erhalt einen unabhangigen Namensraum fur POSIX-Meldungswarteschlangen sowie System-V-Meldungswarteschlangen, Semaphor-Gruppen und gemeinsam genutzte Speichersegmente. Fur weitere Details siehe ipc_namespaces(7). Netzwerk-Namensraum Der Prozess erhalt unabhangige IPv4- und IPv6-Stapel, IP-Routing-Tabellen, Firewall-Regeln, die Verzeichnisbaume /proc/net und /sys/class/net, Sockets usw. Fur weitere Details siehe network_namespaces(7). PID-Namensraum Kindprozesse erhalten einen eigenen Satz an PID-auf-Prozess-Abbildungen separat vom nsenter-Prozess. nsenter ruft standardmassig >>fork<< auf, wenn in den PID-Namensraum gewechselt wird, so dass das neue Programm und dessen Kinder einen gemeinsamen Namensraum haben und fureinander sichtbar sind. Wenn --no-fork verwendet wird, wird das neue Programm ohne vorheriges Forken ausgefuhrt. Fur weitere Details, siehe pid_namespaces(7). Benutzer-Namensraum Der Prozess wird uber eine eindeutige Gruppe an UIDs, GIDS und Capabilities verfugen. Fur weitere Details siehe user_namespaces(7). Cgroup-Namensraum Der Prozess wird uber einen virtualisierten Blick auf /proc/self/cgroup verfugen und neue Cgroup-Einhangungen werden ihre Wurzel in der Wurzel der Cgroup-Namensraum-Wurzel haben. Fur weitere Details siehe cgroup_namespaces(7). Zeit-Namensraum Der Prozess kann eine abweichende Sicht auf CLOCK_MONOTONIC und/oder CLOCK_BOOTTIME haben, was mittels /proc/self/timens_offsets geandert werden kann. Fur weitere Details, siehe time_namespaces(7). OPTIONEN Verschiedene der unten beschriebenen Optionen, die sich auf Namensraume beziehen, akzeptieren ein optionales Argument Datei. Dies sollte eine aus den in namespaces(7) beschriebenen Dateien unter /proc/[PID]/ns/ oder der Pfadname einer Bind-Einhangung, die auf einer dieser Dateien erstellt wurde, sein. -a, --all Wechselt in alle Namensraume des Zielprozesses mittels der Vorgabe-Namensraumepfade /proc/[PID]/ns/*. Die Vorgabepfade zum Zielprozessnamensraum konnen mittels namensraumspezifischer Optionen (z.B. --all --mount=[Pfad]) uberschrieben werden. Die Benutzer-Namensraume 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) fur 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 Einhange-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/ns/time der Zeit-Namensraum /proc/pid/root das Wurzelverzeichnis /proc/pid/cwd das Arbeitsverzeichnis -m, --mount[=Datei] wechselt in den Einhange-Namensraum. Wenn keine Datei angegeben ist, wird in den Einhange-Namensraum der Zieldatei gewechselt. Wenn eine Datei angegeben ist, wird in den Einhange-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 eine 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 eine 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 eine Datei angegeben ist, wird in den Netzwerk-Namensraum der angegebenen Datei gewechselt. -N, --net-socket Dateideskriptor wechselt in den Netzwerk-Namensraum des Sockets des Zielprozesses. Dafur muss der Zielprozess mit --target angegeben werden. Unterstutzt seit Linux 5.6. -p, --pid[=Datei] wechselt in den PID-Namensraum. Wenn keine Datei angegeben ist, wird in den PID-Namensraum des Zielprozesses gewechselt. Wenn eine 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 eine Datei angegeben ist, wird in den Benutzer-Namensraum der angegebenen Datei gewechselt. --user-parent wechselt in den ubergeordneten Benutzernamensraum. Der ubergeordnete Benutzernamensraum wird aus jedem anderen aktivierten Benutzernamensraum abgerufen. In Kombination mit der Option --user wird der ubergeordnete Benutzernamensraum aus dem Benutzernamensraum abgerufen und ersetzt. -C, --cgroup[=Datei] wechselt in den Cgroup-Namensraum. Wenn keine Datei angegeben ist, wird in den Cgroup-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den Cgroup-Namensraum der angegebenen Datei gewechselt. -T, --time[=Datei] wechselt in den Zeit-Namensraum. Wenn keine Datei angegeben ist, wird in den Zeit-Namensraum des Zielprozesses gewechselt. Wenn eine Datei angegeben ist, wird in den Zeit-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 uberspringt zusatzliche Gruppen. nsenter(1) setzt stets die GID fur Benutzer-Namensraume, die Voreinstellung ist 0. Falls das Argument >>follow<< angegeben ist, wird die Gruppenkennung des Zielprozesses verwendet. -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 fur Benutzer-Namensraume, die Voreinstellung ist 0. Falls das Argument >>follow<< angegeben ist, wird die Benutzerkennung des Zielprozesses verwendet. --keep-caps stellt bei ubergebener Option --user sicher, dass die im Benutzernamensraum gewahrten Capabilities im Kindprozess erhalten bleiben. --preserve-credentials lasst die UID und GID unverandert, wenn in den Benutzer-Namensraum gewechselt wird. In der Voreinstellung werden zusatzliche Gruppen ubersprungen 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. Das angegebene Verzeichnis ist geoffnet, bevor es in die angegebenen Namensraume wechselt. -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. Das angegebene Verzeichnis ist geoffnet, bevor es in die angegebenen Namensraume wechselt, was bedeutet, dass das angegebene Verzeichnis als >>Tunnel<< zum aktuellen Namensraum fungiert. Siehe auch --wdns. -W, --wdns[=Verzeichnis] legt das Arbeitsverzeichnis fest. Das Verzeichnis ist nach dem Wechsel in die angeforderten Namensraume und nach dem chroot(2)-Aufruf geoffnet. Die Optionen --wd und --wdns schliessen sich gegenseitig aus. -e, --env ubergibt die Umgebungsvariablen des Zielprozesses an den neu zu erzeugenden Prozess. Falls diese Option nicht angegeben ist, bleiben die Umgebungsvariablen die gleichen wie im aktuellen Namensraum. -F, --no-fork veranlasst, dass >>fork<< vor dem Ausfuhren 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 fur die Ausfuhrung eines neuen Prozesses entsprechend des bereits durch --target PID angegebenen Prozesses verwendet wird (Util-Linux muss mit SELinux-Unterstutzung kompiliert worden sein, damit diese Option zur Verfugung steht). -c, --join-cgroup fugt den initiierten Prozess zur Cgroup des Zielprozesses hinzu. -h, --help zeigt einen Hilfetext an und beendet das Programm. -V, --version zeigt Versionsinformationen an und beendet das Programm. ANMERKUNGEN Die Option --user-parent erfordert Linux 4.9 oder hoher. Altere Kernel losen einen unangemessenen Ioctl-Fehler fur das Gerat aus. AUTOREN Eric Biederman , Karel Zak SIEHE AUCH clone(2), setns(2), namespaces(7) FEHLER MELDEN Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem . VERFUGBARKEIT Der Befehl nsenter ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv heruntergeladen werden kann. util-linux 2.41.3 2025-12-15 NSENTER(1)