Scroll to navigation

NSENTER(1) Användarkommandon NSENTER(1)

NAMN

nsenter - kör programmet i olika namnrymder

SYNOPSIS

nsenter [flaggor] [program [argument]]

BESKRIVNING

Kommandot nsenter exekverar program i det eller de namnområden som anges i kommandoradsflaggor (beskrivs nedan). Om program inte anges körs "${SHELL}" (standard: /bin/sh).

Enterable namnområden är:

monteringsnamnrymd

Montering och avmontering av filsystem påverkar inte resten av systemet, utom för filsystem som uttryckligen markeras som delade (med mount --make-shared; se /proc/self/mountinfo för flaggan shared). För mer information, se mount_namespaces(7) och diskussionen om flaggan CLONE_NEWNS i clone(2).

UTS-namnrymd

Inställning av värdnamn eller domännamn påverkar inte resten av systemet. För ytterligare information, se uts_namespaces(7).

IPC-namnrymd

Processen kommer att ha en oberoende namnrymd för POSIX-meddelandeköer samt System V-meddelandeköer, semaforuppsättningar och delade minnessegment. För ytterligare information, se ipc_namespaces(7).

nätverksnamnrymd

Processen kommer att ha oberoende IPv4- och IPv6-stackar, IP-routingtabeller, brandväggsregler, katalogträden /proc/net och /sys/class/net, uttag, etc. För ytterligare information, se network_namespaces(7).

PID-namnrymd

Barn kommer att ha en uppsättning PID-till-processmappningar som är separata från nsenter-processen. nsenter kommer som standard att förgrena sig om PID-namnområdet ändras, så att det nya programmet och dess barn delar samma PID-namnområde och är synliga för varandra. Om --no-fork används kommer det nya programmet att exekveras utan förgrening. För ytterligare information, se pid_namespaces(7).

användarnamnrymd

Processen kommer att ha en distinkt uppsättning UID:er, GID:er och kapaciteter. För ytterligare information, se user_namespaces(7).

cgroup-namnrymd

Processen kommer att ha en virtualiserad vy av /proc/self/cgroup, och nya cgroup-monteringar kommer att ha sin rot i namnrymden cgroup root. För ytterligare information, se cgroup_namespaces(7).

tidsnamnrymd

Processen kan ha en egen syn på CLOCK_MONOTONIC och/eller CLOCK_BOOTTIME som kan ändras med /proc/self/timens_offsets. För ytterligare information, se time_namespaces(7).

Använd unshare(1) för att skapa en ny namnrymd. När den skapats kan du köra ett program i den med nsenter.

FLAGGOR

Flera av flaggorna nedan som relaterar till namnrymder har ett valfritt fil-argument. Detta bör vara en av filerna /proc/[pid]/ns/* som beskrivs i namespaces(7), eller sökvägen till ett bind-mount som skapades på en av dessa filer.

-a, --all

Gå in i alla namnrymder för målprocessen via standardsökvägarna /proc/<pid>/ns/*. Standardsökvägarna till målprocessens namnrymder kan åsidosättas med namnrymdsspecifika flaggor (t.ex. --all --mount=sökväg).

Användarnamnrymden ignoreras om den är densamma som anroparens aktuella användarnamnrymd. Detta förhindrar att en anropare som släppt förmågor återfår dem genom ett anrop till setns(2). Se manualsidan för mer information.

-t, --target PID[:inod]

Ange en målprocess att hämta kontexter från. Sökvägarna till kontexterna som anges av PID är:

/proc/pid/ns/mnt

namnrymden för montering

/proc/pid/ns/uts

uTS namnrymd

/proc/pid/ns/ipc

iPC-namnrymden

/proc/pid/ns/net

namnrymden för nätverket

/proc/pid/ns/pid

namnrymden för PID

/proc/pid/ns/user

användarens namnrymd

/proc/pid/ns/cgroup

namnrymden cgroup

/proc/pid/ns/time

namnrymden för tid

/proc/pid/root

rotkatalogen

/proc/pid/cwd

arbetskatalogen respektive

En process kan också adresseras med formatet PID:inod. inod identifierar processens unika filbeskrivare. Du kan använda verktyget getino(1) för att hämta processens inodnummer.

-m, --mount[=fil|=:nsid]

Gå in i monteringsnamnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används monteringsnamnrymden som anges av fil eller nsid.

-u, --uts[=fil|=:nsid]

Gå in i UTS-namnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används UTS-namnrymden som anges av fil eller nsid.

-i, --ipc[=fil|=:nsid]

Gå in i IPC-namnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används IPC-namnrymden som anges av fil eller nsid.

-n, --net[=fil|=:nsid]

Gå in i nätverksnamnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används nätverksnamnrymden som anges av fil eller nsid.

-N, --net-socket fd

Ange nätverksnamnrymden för målprocessens uttag. Det kräver att --target-processen specificeras. Stöds sedan Linux 5.6.

-p, --pid[=fil|=:nsid]

Gå in i PID-namnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används PID-namnrymden som anges av fil eller nsid.

-U, --user[=fil|=:nsid]

Gå in i användarnamnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används användarnamnrymden som anges av fil eller nsid. Se även flaggorna --setuid och --setgid.

--user-parent

Ange det överordnade användarnamnområdet. Det överordnade användarnamnområdet kommer att hämtas från alla andra aktiverade namnområden. Om det kombineras med flaggan --user kommer det överordnade användarnamnområdet att hämtas från användarnamnområdet och ersätta det.

-C, --cgroup[=fil|=:nsid]

Gå in i cgroup-namnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används cgroup-namnrymden som anges av fil eller nsid.

-T, --time[=fil|=:nsid]

Gå in i tidsnamnrymden. Om inget argument anges används målprocessens namnrymd. Om fil eller :nsid anges används tidsnamnrymden som anges av fil eller nsid.

-G, --setgid gid

Ange det grupp-ID som ska användas i det angivna namnområdet och släpp tilläggsgrupper. nsenter anger alltid GID för användarnamnområden, standardvärdet är 0. Om argumentet "follow" anges används GID för målprocessen.

-S, --setuid uid

Ange det användar-ID som ska användas i den angivna namnrymden. nsenter anger alltid UID för användarnamnområden, standardvärdet är 0. Om argumentet "follow" anges används UID för målprocessen.

--keep-caps

När flaggan --user anges ska du se till att de möjligheter som ges i användarnamnområdet bevaras i barnprocessen.

--preserve-credentials

Ändra inte UID och GID när användarnamnrymden tillträds. Som standard släpps tilläggsgrupper och GID och UID sätts till 0.

-r, --root[=katalog]

Ställ in rotkatalogen. Om ingen katalog anges används målprocessens rotkatalog. Om en katalog anges används den katalogen. Angiven katalog öppnas innan bytet till de begärda namnrymderna.

-w, --wd[=katalog]

Ställ in arbetskatalogen. Om ingen katalog anges används målprocessens arbetskatalog. Om en katalog anges används den katalogen. Angiven katalog öppnas innan bytet till de begärda namnrymderna, vilket innebär att den fungerar som en ”tunnel” till den aktuella namnrymden. Se även --wdns.

-W, --wdns[=katalog]

Ställ in arbetskatalogen. Angiven katalog öppnas efter bytet till de begärda namnrymderna och efter anropet till chroot(2). Flaggorna --wd och --wdns kan inte kombineras.

-e, --env

Överför miljövariabler från målprocessen till den nya process som skapas. Om flaggan inte anges förblir miljövariablerna desamma som i den aktuella namnrymden.

-F, --no-fork

Gör ingen fork innan det angivna programmet körs. När nsenter går in i ett PID-namnområde anropar nsenter som standard fork innan exec anropas, så att eventuella barn också befinner sig i det nyinmatade PID-namnområdet.

-Z, --follow-context

Ställ in SELinux-säkerhetskontexten för körning av en ny process utifrån den redan körande process som anges av --target PID. (util-linux måste vara kompilerat med SELinux-stöd, annars är flaggan inte tillgänglig.)

-c, --join-cgroup

Lägg till den initierade processen i målprocessens c-grupp.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

ANMÄRKNINGAR

Flaggan --user-parent kräver Linux 4.9 eller senare, äldre kärnor ger upphov till olämpliga ioctl för enhetsfel.

Att ange namnrymder med nsid kräver Linux 6.19 eller senare. Om namnet på en namnrymdsfil (fil) börjar med kolon, lägg till ./ i början för att undvika tvetydighet.

UPPHOVSPERSONER

Eric Biederman <biederm@xmission.com>, Karel Zak <kzak@redhat.com>

SE ÄVEN

unshare(1), lsns(8), clone(2), setns(2), namespaces(7) getino(1)

FELRAPPORTERING

För felrapporter, använd felhanteraren <https://github.com/util-linux/util-linux/issues>.

TILLGÄNGLIGHET

Kommandot nsenter ingår i paketet util-linux som kan hämtas från Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2026-09-25 util-linux 2.42.4