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.