DESCRIERE¶
Comanda nsenter execută programul în
spațiul (spațiile) de nume care sunt specificate în
opțiunile liniei de comandă (descrise mai jos). Dacă
program nu este indicat, se execută «${SHELL}»
(implicit: /bin/sh).
Spațiile de nume care pot fi introduse sunt:
mount namespace
Montarea și demontarea sistemelor de
fișiere nu va afecta restul sistemului, cu excepția sistemelor
de fișiere care sunt marcate în mod explicit ca fiind partajate
(cu
mount --make-shared; a se vedea
/proc/self/mountinfo pentru
fanionul
shared). Pentru mai multe detalii, consultați
mount_namespaces(7) și discuția despre fanionul
CLONE_NEWNS din
clone(2).
UTS namespace
Stabilirea numelui de gazdă sau a numelui de
domeniu nu va afecta restul sistemului. Pentru mai multe detalii,
consultați
uts_namespaces(7).
IPC namespace
Procesul va avea un spațiu de nume independent
pentru cozile de mesaje POSIX, precum și pentru cozile de mesaje System
V, seturile de semafoare și segmentele de memorie partajată.
Pentru mai multe detalii, consultați
ipc_namespaces(7).
network namespace
Procesul va avea stive IPv4 și IPv6 independente,
tabele de direcționare IP, reguli de paravan de protecție,
arborii de directoare
/proc/net și
/sys/class/net,
socluri etc. Pentru mai multe detalii, consultați
network_namespaces(7).
PID namespace
Procesele-copil vor avea un set de corespondențe
între PID și proces separat de procesul
nsenter.
nsenter va crea implicit o bifurcație în cazul în
care se schimbă spațiul de nume PID, astfel încât
noul program și procesele-copil ale acestuia să
împartă același spațiu de nume PID și
să fie vizibili unul pentru celălalt. Dacă se
utilizează
--no-fork, noul program va fi executat
fără a se ramifica. Pentru mai multe detalii, a se vedea
pid_namespaces(7).
user namespace
Procesul va avea un set distinct de UID-uri, GID-uri
și capacități. Pentru mai multe detalii, a se vedea
user_namespaces(7).
cgroup namespace
Procesul va avea o vizualizare virtualizată a
/proc/self/cgroup, iar noile montări cgroup vor fi
înrădăcinate la rădăcina spațiului
de nume cgroup. Pentru mai multe detalii, consultați
cgroup_namespaces(7).
time namespace
Procesul poate avea o viziune distinctă asupra
CLOCK_MONOTONIC și/sau
CLOCK_BOOTTIME, care poate fi
modificată cu ajutorul
/proc/self/timens_offsets. Pentru mai
multe detalii, a se vedea
time_namespaces(7).
OPȚIUNI¶
Diverse dintre opțiunile de mai jos care se referă
la spațiile de nume acceptă un argument opțional
fișier. Acesta ar trebui să fie unul dintre
fișierele /proc/[pid]/ns/* descrise în
namespaces(7) sau numele de rută al unei montări de
legătură care a fost creată pe unul dintre aceste
fișiere.
-a, --all
Introduce toate spațiile de nume ale procesului
țintă prin rutele implicite ale spațiilor de nume
/proc/[pid]/ns/*. Rutele implicite către spațiile de nume
ale procesului țintă pot fi suprascrise de opțiuni
specifice spațiului de nume (de exemplu,
--all
--mount=[
path]).
Spațiul de nume de utilizator va fi ignorat dacă
este același cu spațiul de nume de utilizator curent al
apelantului. Aceasta împiedică un apelant care a
renunțat la capacități să le recupereze prin
intermediul unui apel la setns(). A se vedea setns(2) pentru mai
multe detalii.
-t, --target PID
Specifică un proces țintă de la care
se obțin contexte. Rutele către contextele specificate de
pid sunt:
/proc/pid/ns/mnt
spațiul de nume de montare
/proc/pid/ns/uts
spațiul de nume UTS
/proc/pid/ns/ipc
spațiul de nume IPC
/proc/pid/ns/net
spațiul de nume de rețea
/proc/pid/ns/pid
spațiul de nume PID
/proc/pid/ns/user
spațiul de nume de utilizator
/proc/pid/ns/cgroup
spațiul de nume cgroup
/proc/pid/ns/time
spațiul de nume de timp
/proc/pid/root
directorul rădăcină
/proc/pid/cwd
respectiv directorul de lucru
-m, --mount[=fișier]
Introduce spațiul de nume de montare. Dacă
nu se specifică niciun fișier, introduce spațiul de nume
de montare al procesului țintă. Dacă se specifică
fișier, se introduce spațiul de nume de montare
specificat de fișier.
-u, --uts[=fișier]
Introduce spațiul de nume UTS. Dacă nu se
specifică niciun fișier, introduce spațiul de nume UTS al
procesului țintă. Dacă se specifică
fișier, se introduce spațiul de nume UTS specificat de
fișier.
-i, --ipc[=fișier]
Introduce spațiul de nume IPC. Dacă nu se
specifică niciun fișier, introduce spațiul de nume IPC al
procesului țintă. Dacă se specifică
fișier, se introduce spațiul de nume IPC specificat de
fișier.
-n, --net[=fișier]
Introduce spațiul de nume de rețea.
Dacă nu se specifică niciun fișier, introduce
spațiul de nume de rețea al procesului țintă.
Dacă se specifică fișier, se introduce
spațiul de nume de rețea specificat de
fișier.
-p, --pid[=fișier]
Introduce spațiul de nume PID. Dacă nu se
specifică niciun fișier, introduce spațiul de nume PID al
procesului țintă. Dacă se specifică
fișier, introduce spațiul de nume PID specificat de
fișier.
-U, --user[=fișier]
Introduce spațiul de nume de utilizator.
Dacă nu este specificat niciun fișier, introduce spațiul
de nume de utilizator al procesului țintă. Dacă se
specifică fișier, se introduce spațiul de nume de
utilizator specificat de fișier. A se vedea, de asemenea,
opțiunile --setuid și --setgid.
--user-parent
Introduce spațiul de nume al utilizatorului
părinte. Spațiul de nume de utilizator părinte va fi
preluat de la orice alt spațiu de nume activat. Dacă este
combinată cu opțiunea --user, spațiul de nume al
utilizatorului părinte va fi preluat din spațiul de nume al
utilizatorului și îl va înlocui.
-C, --cgroup[=fișier]
Introduce spațiul de nume cgroup. Dacă nu
se specifică niciun fișier, introduce spațiul de nume
cgroup al procesului țintă. Dacă este specificat
fișier, se introduce spațiul de nume al cgroup specificat
de fișier.
-T, --time[=fișier]
Introduce spațiul de nume de timp. Dacă nu
se specifică niciun fișier, introduce spațiul de nume de
timp al procesului țintă. Dacă se specifică
fișier, se introduce spațiul de nume de timp specificat
de fișier.
-G, --setgid gid
Stabilește ID-ul grupului care va fi utilizat
în spațiul de nume introdus și se renunță
la grupurile suplimentare. nsenter stabilește întotdeauna
GID pentru spațiile de nume de utilizator, valoarea implicită
este 0. Dacă se specifică argumentul „follow”, se
utilizează GID-ul procesului țintă.
-S, --setuid uid
Stabilește ID-ul utilizatorului care va fi
utilizat în spațiul de nume introdus. nsenter
stabilește întotdeauna UID pentru spațiile de nume de
utilizator, valoarea implicită este 0. Dacă se specifică
argumentul „follow”, se utilizează UID-ul procesului
țintă.
--keep-caps
În cazul în care se oferă
opțiunea --user, se asigură că
capacitățile acordate în spațiul de nume al
utilizatorului sunt păstrate în procesul-copil.
--preserve-credentials
Nu modifică UID și GID atunci când
intră în spațiul de nume de utilizator. Valoarea
implicită este de a renunța la grupurile suplimentare și
de a stabili GID și UID la 0.
-r, --root[=director]
Stabilește directorul
rădăcină. Dacă nu se specifică niciun
director, se stabilește directorul rădăcină la
directorul rădăcină al procesului țintă.
Dacă este specificat directorul, se stabilește directorul
rădăcină la directorul specificat. Se deschide
directorul specificat înainte de a trece la spațiile de
nume solicitate.
-w, --wd[=director]
Stabilește directorul de lucru. Dacă nu se
specifică niciun director, se stabilește directorul de lucru la
directorul de lucru al procesului țintă. Dacă se
specifică directorul, se stabilește directorul de lucru la
directorul specificat. Directorul director specificat este deschis
înainte de a trece la spațiile de nume solicitate, ceea ce
înseamnă că directorul specificat
funcționează ca un „tunel” către
spațiul de nume curent. A se vedea, de asemenea, --wdns.
-W, --wdns[=director]
Stabilește directorul de lucru.
directorul
este deschis după trecerea la spațiile de nume solicitate
și după apelul
chroot(2). Opțiunile
--wd
și
--wdns se exclud reciproc.
-e, --env
Transferă variabilele de mediu de la procesul
țintă la noul proces care se creează. Dacă
această opțiune nu este furnizată, variabilele de mediu
vor rămâne aceleași ca în spațiul de nume
curent.
-F, --no-fork
Nu creează o bifurcație înainte de a
executa programul specificat. În mod implicit, atunci când se
intră într-un spațiu de nume PID, nsenter
apelează fork înainte de a apela exec, astfel
încât toate procesele-copil să fie, de asemenea,
în spațiul de nume PID nou intrat.
-Z, --follow-context
Stabilește contextul de securitate SELinux
utilizat pentru executarea unui nou proces în funcție de
procesul deja în desfășurare specificat prin
--target PID (util-linux trebuie să fie compilat cu suport
SELinux, altfel opțiunea nu este disponibilă).
-c, --join-cgroup
Adaugă procesul inițiat în cgroup-ul
procesului țintă.
-h, --help
Afișează acest mesaj de ajutor și
iese.
-V, --version
Afișează informațiile despre
versiune și iese.