BESCHRIJVING¶
Het nsenter commando voert programma uit in de
naamruimte(s) die worden opgegeven in de commando regel opties (hieronder
beschreven). Als programma niet werd opgegeven, dan wordt
“${SHELL}” uitgevoerd (standaard: /bin/sh).
Beschikbare naamruimtes zijn:
mount naamruimte
Aan en afkoppelen van bestandssystemen zal de rest van
het systeem niet beïnvloeden, behalve voor bestandssystemen die
expliciet gemarkeerd zijn als gedeeld (met
mount --make-shared; zie
/proc/self/mountinfo voor de
shared vlag). Voor meer details,
zie
mount_namespaces(7) en de discussie over de
CLONE_NEWNS vlag
in
clone(2).
UTS naamruimte
Het instellen van machinenaam of domeinnaam
beïnvloed de rest van het systeem niet. Voor verdere details, zie
uts_namespaces(7).
IPC naamruimte
Het proces zal een onafhankelijke naamruimte voor POSIX
bericht wachtrijen zowel als System V bericht wachtrijen, seinpaal
verzamelingen en gedeelde geheugen segmenten hebben. Voor mee details, zie
ipc_namespaces(7).
network naamruimte
Het proces zal onafhankelijke IPv4 en IPv6 stapels, IP
routering tabellen, firewall regels hebben, de
/proc/net en
/sys/class/net map bomen, sockets, etc. Voor meer details, zie
network_namespaces(7).
PID naamruimte
Kinderen zullen een verzameling PID´s hebben om
instellingen apart van het
nsenter proces te verwerken.
nsenter
zal standaard vorken zodra de PID naamruimte verandert, waarmee het nieuwe
programma en zijn kinderen dezelfde PID naamruimte delen en onderling
zichtbaar zijn. Als
--no-fork werd gebruikt, dan wordt het nieuwe
programma uitgevoerd zonder te vorken. Voor meer details zie
pid_namespaces(7).
gebruiker naamruimte
Het proces zal een verschillende verzameling
UID´s, GID´s en capaciteiten hebben. Voor verdere details, zie
user_namespaces(7).
cgroup naamruimte
Het proces zal een virtueel zicht op
/proc/self/cgroup hebben, en nieuwe cgroup koppelingen zullen beginnen
bij de naamruimte cgroup root. Voor verdere details, zie
cgroup_namespaces(7).
time naamruimte
Het proces zal een verschillend zicht op
CLOCK_MONOTONIC en/of
CLOCK_BOOTTIME hebben hetgeen kan worden
verandert met
/proc/self/timens_offsets. Voor verder details, zie
time_namespaces(7).
OPTIES¶
Diverse van de hieronder gegeven opties die betrekking hebben op
naamruimtes gebruiken een optioneel bestand argument. Dit moet een
van de /proc/[pid]/ns/* bestanden zijn, zoals beschreven in
namespaces(7), of de padnaam van een aankoppeling die werd aangemaakt
door een van deze bestanden.
-a, --all
Geef alle naamruimtes van het doel proces door de
standaard
/proc/[pid]/ns/* naamruimtes paden. De standaard paden van de
doel proces naamruimtes kunnen overschreven worden door naamruimte specifieke
opties (b.v.,
--all --mount=[
pad]).
De gebruiker naamruimte wordt genegeerd als deze dezelfde is dan
de huidige naamruimte van de aanroeper. Dit voorkomt dat een aanroeper die
zijn capaciteiten liet vallen deze opnieuw verkrijgt door een aanroep van
setns(). Zie setns(2) voor meer details.
-t, --target PID
Geef het doel proces op waarvan de context verkregen moet
worden. De paden van de contexten opgegeven door
pid zijn:
/proc/pid/ns/mnt
de aankoppel naamruimte
/proc/pid/ns/uts
de UTS naamruimte
/proc/pid/ns/ipc
de IPC naamruimte
/proc/pid/ns/net
de netwerk naamruimte
/proc/pid/ns/pid
de PID naamruimte
/proc/pid/ns/user
de gebruiker naamruimte
/proc/pid/ns/cgroup
de cgroup naamruimte
/proc/pid/ns/time
de tijd naamruimte
/proc/pid/root
de root map
/proc/pid/cwd
de respectievelijke werkmap
-m, --mount[=bestand]
Gebruik de aankoppel naamruimte. Als geen bestand werd
opgegeven, gebruik dan de aankoppel naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de aankoppel naamruimte zoals
opgegeven door bestand.
-u, --uts[=bestand]
Gebruik de UTS naamruimte. Als geen bestand werd
opgegeven, gebruik dan de UTS naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de UTS naamruimte zoals opgegeven
door bestand.
-i, --ipc[=bestand]
Gebruik de IPC naamruimte. Als geen bestand werd
opgegeven, gebruik dan de IPC naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de IPC naamruimte zoals opgegeven
door bestand.
-n, --net[=bestand]
Gebruik de netwerk naamruimte. Als geen bestand werd
opgegeven, gebruik dan de netwerk naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de netwerk naamruimte zoals
opgegeven door bestand.
-p, --pid[=bestand]
Gebruik de PID naamruimte. Als geen bestand werd
opgegeven, gebruik dan de PID naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de PID naamruimte zoals opgegeven
door bestand.
-U, --user[=bestand]
Gebruik de gebruiker naamruimte. Als geen bestand werd
opgegeven, gebruik dan de gebruiker naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de gebruiker naamruimte zoals
opgegeven door bestand.
-C, --cgroup[=bestand]
Gebruik de cgroup naamruimte. Als geen bestand werd
opgegeven, gebruik dan de cgroup naamruimte van het doel proces. Als
bestand werd opgegeven, gebruik dan de cgroup naamruimte zoals
opgegeven door bestand.
-u, --uts[=bestand]
Geef de tijd naamruimte. Als geen bestand werd opgegeven,
geef dan de tijd naamruimte van het doel proces. Als bestand werd
opgegeven, geen de tijd naamruimte gespecificeerd door bestand.
-G, --setgid gid
Zet de GID die zal worden gebruikte in de opgegeven
naamruimte en laat aanvullende groepen vallen.
nsenter(1) zet altijd
GID voor gebruiker naamruimtes, de standaard is 0.
-S, --setuid uid
Zet de gebruiker ID die zal worden gebruikt in de
opgegeven naamruimte.
nsenter(1) zet altijd UID voor gebruiker
naamruimtes, de standaard is 0.
--preserve-credentials
Verander UID en GID niet bij het binnen gaan van
gebruiker naamruimte. De standaard is om aanvullende groepen te laten vallen
en GID en UID op 0 te zetten.
-r, --root[=map]
Zet de systeembeheerder map. Als geen map werd opgegeven,
zet de systeembeheerder map dan op de systeembeheerder map van het doel
proces. Als de map wel werd opgegeven, zet dan de systeembeheerder map op de
opgegeven map. De opgegeven map is open voordat het naar de gevraagd
naamruimtes omschakelt.
-w, --wd[=map]
Zet de werkmap. Als geen map werd opgegeven, zet de
werkmap op de werkmap van het doel proces. Als de map werd opgegeven, zet dan
de werkmap op de opgegeven map. De opgegeven map is open voordat het
omschakelt naar de gevraagde naamruimtes, dit betekent dat de opgegeven map
werkt als een "tunnel" naar de opgegeven naamruimte. Zie ook
--wdns.
-w, --wdns[=map]
Zet de werkmap. De
map is open na de omschakeling
naar de gevraagde naamruimte en na de
chroot(2) aanroep. De optie
--wd en
--wdns sluiten elkaar uit.
-F, --no-fork
Vork niet voor het uitvoeren van het opgegeven programma.
Standaard, bij het binnen gaan van de PID naamruimte, roept nsenter()
fork aan voordat het exec() aanroept zodat elk kind ook in de
nieuwe PID naamruimte zullen zitten.
-Z, --follow-context
Zet de SELinux veiligheid context die gebruikt is om een
nieuw proces uit te voeren volgens het proces dat wordt uitgevoerd met
--target PID. (Dan moet util-linux gecompileerd zijn met SELinux
ondersteuning anders is deze optie niet beschikbaar.)
-h, --help
een hulptekst tonen en stoppen.
-V, --version
Toon versie en stop.