proc_pid_root(5) | File Formats Manual | proc_pid_root(5) |
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
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 à debian-l10n-french@lists.debian.org.
2 mai 2024 | Pages du manuel de Linux 6.9.1 |