proc_pid_root(5) File Formats Manual proc_pid_root(5)

/proc/pid/root/ - legătură simbolică către directorul rădăcină

/proc/pid/root/
UNIX și Linux susțin ideea unei rădăcini a sistemului de fișiere pentru fiecare proces, stabilită prin apelul de sistem chroot(2). Acest fișier este o legătură simbolică care indică directorul rădăcină al procesului și se comportă în același mod ca exe și fd/*.
Rețineți totuși că acest fișier nu este doar o legătură simbolică. Acesta oferă aceeași vizualizare a sistemului de fișiere (inclusiv a spațiilor de nume și a setului de montări per-proces) ca și procesul în sine. Un exemplu ilustrează acest aspect. Într-un terminal, pornim un shell în spații de nume de utilizator și de montare noi, iar în acel shell creăm câteva montări noi:

$ PS1='sh1# ' unshare -Urnm
sh1# mount -t tmpfs tmpfs /etc  # Montează tmpfs gol la /etc
sh1# mount --bind /usr /dev     # Montează/usr la /dev
sh1# echo $$
27123

Într-o a doua fereastră de terminal, în spațiul de nume de montare inițial, ne uităm la conținutul montărilor corespunzătoare din spațiul de nume inițial și cel nou:

$ PS1='sh2# ' sudo sh
sh2# ls /etc | wc -l                  # În spațiul-de-nume inițial
309
sh2# ls /proc/27123/root/etc | wc -l  # /etc în alt spațiu-de-nume
0                                     # Directorul tmpfs gol
sh2# ls /dev | wc -l                  # În spațiul-de-nume inițial
205
sh2# ls /proc/27123/root/dev | wc -l  # /dev în alt spațiu-de-nume
11                                    # De fapt montat
                                      # bind la /usr
sh2# ls /usr | wc -l                  # /usr în spațiul-de-nume inițial
11

Într-un proces cu mai multe fire de execuție, conținutul legăturii simbolice /proc/pid/root nu este disponibil dacă firul principal s-a terminat deja (de obicei prin apelarea pthread_exit(3)).
Permisiunea de a dereferenția sau citi (readlink(2)) această legătură simbolică este guvernată de o verificare a modului de acces «ptrace» PTRACE_MODE_READ_FSCREDS; a se vedea ptrace(2).

proc(5)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.9.1