proc
Table des matières
Retour à l'index
NOM
proc – informations de processus, informations du système et pseudo-système
de fichiers sysctl
DESCRIPTION
Le système de fichiers proc est un pseudosystème de fichiers qui fournit
une interface pour les structures de données du noyau. Il est généralement
monté sur /proc. Ordinairement, il est monté automatiquement par le
système, mais il peut aussi l’être manuellement en utilisant une commande
telle que :
mount -t proc proc /proc
La plupart des fichiers dans le système de fichiers proc sont en lecture
seule, mais certains sont éditables, permettant aux variables du noyau
d’être modifiées.
Options de montage
Le système de fichiers proc gère les options de montage suivantes :
- hidepid=n (depuis Linux 3.3)
-
Cette option contrôle qui a accès aux informations dans les répertoires
/proc/pid. L’argument n possède une des valeurs suivantes :
-
- 0
-
Tout le monde peut accéder à tous les répertoires /proc/pid. C’est le
comportement traditionnel et celui par défaut si cette option de montage
n’est pas précisée.
- 1
-
Les utilisateurs ne peuvent accéder aux fichiers et sous-répertoires dans
n’importe quel répertoire /proc/pid sauf dans les leurs (les répertoires
/proc/pid demeurent visibles). Les fichiers sensibles tels que
/proc/pid/cmdline et /proc/pid/status sont maintenant protégés
des autres utilisateurs. Cela rend impossible de savoir si n’importe quel
utilisateur exécute un programme particulier (aussi longtemps que le
programme ne se révèle de lui-même par son comportement).
- 2
-
Comme pour le mode 1, mais en plus les répertoires /proc/pid appartenant
aux autres utilisateurs deviennent invisibles. Cela signifie que les
enregistrements /proc/pid ne peuvent plus être utilisés pour découvrir
les PID du système. Cela ne dissimule pas le fait qu’une valeur de PID
particulière existe (elle peut être connue d’une autre manière, par exemple,
avec « kill -0 $PID »), mais les UID et GID d’un processus sont cachés, qui
peuvent être connus d'une autre manière en utilisant stat(2) sur un
répertoire /proc/pid. Cela complique grandement la récolte par un
attaquant d’informations sur les processus en cours (par exemple, découvrir
si un démon est en cours d’exécution avec des privilèges élevés, si un autre
utilisateur utilise un programme sensible, si d’autres utilisateurs
exécutent un programme quelconque, etc.).
- gid=gid (depuis Linux 3.3)
-
Indication de l’ID d’un groupe dont les membres sont autorisés à connaitre
les informations sur un processus autrement interdites par hidepid
(c’est-à-dire que les utilisateurs dans ce groupe se comportent comme si
/proc était monté avec hidepid=0). Ce groupe doit être utilisé à la
place d’approches telles que mettre les utilisateurs normaux dans le fichier
sudoers(5).
- subset=pid (depuis Linux 5.8)
-
Montrer uniquement le sous-ensemble de procfs spécicié, sans montrer tous
les fichiers et répertoires de plus haut niveau dans les procfs qui ne sont
pas liés aux tâches.
Aperçu
Sous /proc, on trouve les groupes et sous-répertoires suivants :
- Sous-répertoires /proc/pid
-
Chacun de ces sous-répertoires contient des fichiers et des sous-répertoires
exposant les informations sur le processus ayant l’ID correspondant.
-
Sous chacun des répertoires /proc/pid, un sous-répertoire task
contient des sous-répertoires de la forme task/tid qui contiennent des
informations sur chacun des threads dans le processus, où tid est l’ID de
thread du noyau du thread.
-
Les sous-répertoires /proc/pid sont visibles lors de l’itération à
travers /proc avec getdents(2) (et donc visibles lors de l’utilisation
de ls(1) pour voir le contenu de /proc).
- Sous-répertoires /proc/tid
-
Chacun de ces sous-répertoires contient des fichiers et des sous-répertoires
exposant des informations sur le thread avec l’ID du thread
correspondant. Le contenu de ces répertoires est le même que celui des
répertoires /proc/pid/task/tid correspondants.
-
Les sous-répertoires /proc/tid ne sont pas visibles lors d’itérations
à travers /proc avec getdents(2) (et donc ne sont pas visibles si
on utilise ls(1) pour voir le contenu de /proc).
- /proc/self
-
Quand un processus accède à ce lien symbolique magique, il l’interprète
comme son propre répertoire /proc/pid.
- /proc/thread-self
-
Quand un thread accède à ce lien symbolique magique, il l’interprète comme
son propre répertoire /proc/self/task/tid.
- /proc/[a-z]*
-
D’autres fichiers et répertoires divers sous /proc exposent des
informations concernant le système en entier.
Tout ce qui précède est décrit plus en détails dans les pages de manuel
séparées dont le nom débute par proc_.
NOTES
De nombreux fichiers contiennent des chaînes (par exemple, l'environnement
et la ligne de commande) dans un format interne avec des sous-champs
terminés par un octet NULL « \0 ». Pour inspecter de tels fichiers, les
résultats peuvent être plus lisibles en utilisant la commande suivante :
$ cat file | tr '\000' '\n'
VOIR AUSSI
cat(1), dmesg(1), find(1), free(1), htop(1), init(1),
ps(1), pstree(1), tr(1), uptime(1), chroot(2), mmap(2),
readlink(2), syslog(2), slabinfo(5), sysfs(5), hier(7),
namespaces(7), time(7), arp(8), hdparm(8), ifconfig(8),
lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8),
route(8), sysctl(8)
Les fichiers des sources du noyau Linux :
Documentation/filesystems/proc.rst,
Documentation/admin-guide/sysctl/fs.rst,
Documentation/admin-guide/sysctl/kernel.rst,
Documentation/admin-guide/sysctl/net.rst et
Documentation/admin-guide/sysctl/vm.rst.
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
-
- Options de montage
-
- Aperçu
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:35 GMT, September 19, 2025