proc_pid_root
Table des matières
Retour à l'index
NOM
/proc/pid/root/ - Lien symbolique vers le répertoire racine
DESCRIPTION
- /proc/pid/root/
-
UNIX et Linux gèrent une notion de racine du système de fichiers par
processus, configurée avec l'appel système chroot(2). Ce fichier est un
lien symbolique qui pointe vers le répertoire racine du processus, et se
comporte de la même façon que exe et fd/*.
-
Il est cependant à remarquer que ce fichier n’est pas simplement un lien
symbolique. Il fournit la même vue du système de fichiers (incluant les
espaces de noms et l’ensemble des montages par processus) que le processus
lui-même. Un exemple illustre ce point. Dans un terminal, démarrer un
interpréteur de commandes dans des nouveaux espaces de noms utilisateur et
montage, et dans cet interpréteur créer quelques nouveaux montages :
-
$ PS1='sh1# ' unshare -Urnm
sh1# mount -t tmpfs tmpfs /etc # Montage d’un tmpfs vide à /etc
sh1# mount --bind /usr /dev # Montage de /usr à /dev
sh1# echo $$
27123
-
Dans une seconde fenêtre de terminal, dans l’espace de noms initial montage,
chercher le contenu des montages correspondants dans les espaces de noms
initial et nouveau :
-
$ PS1='sh2# ' sudo sh
sh2# ls /etc | wc -l # Dans l’espace de noms initial
309
sh2# ls /proc/27123/root/etc | wc -l # /etc dans un autre espace de noms
0 # Le répertoire vide tmpfs
sh2# ls /dev | wc -l # Dans l’espace de noms initial
205
sh2# ls /proc/27123/root/dev | wc -l # /dev dans un autre espace de noms
11 # Réellement monté
# bind dans /usr
sh2# ls /usr | wc -l # /usr dans l’espace de noms initial
11
-
Dans un traitement multiprocessus, le contenu du lien symbolique
/proc/pid/root n'est pas disponible si le thread principal est déjà
terminé (typiquement par un appel à pthread_exit(3).
-
La permission de déréférencer ou de lire (readlink(2)) ce lien symbolique
est régie par une vérification du mode d’accès ptrace
PTRACE_MODE_READ_FSCREDS ; consulter ptrace(2).
VOIR AUSSI
proc(5)
TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>,
David Prévot <david@tilapin.org>,
Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
et
Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- DESCRIPTION
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:35 GMT, September 19, 2025