/proc/sys/fs/ - Variables du noyau relatives aux systèmes
de fichiers
- /proc/sys/fs/
- Ce répertoire contient les fichiers et sous-répertoires pour
les variables du noyau relatives aux systèmes de fichiers.
- /proc/sys/fs/aio-max-nr et /proc/sys/fs/aio-nr (depuis Linux
2.6.4)
- aio-nr est le nombre total d’évènements en
cours spécifiés par les appels io_setup(2) pour tous
les contextes AIO actuellement actifs. Si aio-nr atteint
aio-max-nr, io_setup(2) échouera avec l’erreur
EAGAIN. Augmenter aio-max-nr ne provoque la
préallocation ou le redimensionnement d’aucune structure de
données du noyau.
- /proc/sys/fs/binfmt_misc
- La documentation concernant les fichiers de ce répertoire se trouve
dans le fichier Documentation/admin-guide/binfmt-misc.rst des
sources du noyau (ou dans Documentation/binfmt_misc.txt pour les
noyaux plus anciens).
- /proc/sys/fs/dentry-state (depuis Linux 2.2)
- Ce fichier contient des informations sur l'état du cache de
répertoire (dcache). Ce fichier contient six nombres
nr_dentry, nr_unused, age_limit (âge en
secondes), want_pages (pages réclamées par le
système) et deux valeurs inutiles.
- nr_dentry est le nombre d'entrées dcache allouées. Ce
champ n'est pas utilisé dans Linux 2.2.
- nr_unused est le nombre d'entrées dcache de
répertoire libres.
- age_limit est l'âge en seconde après lequel les
entrées dcache peuvent être réclamées quand la
mémoire est faible.
- want_pages n'est pas nul quand le noyau a appelé
shrink_dcache_pages() et que le cache de répertoire n'a pas encore
été réduit.
- /proc/sys/fs/dir-notify-enable
- Ce fichier permet d'activer ou d’inhiber l'interface dnotify
décrite dans fcntl(2) au niveau système. Une
valeur 0 dans ce fichier désactive cette interface et la
valeur 1 l'active.
- /proc/sys/fs/dquot-max
- Ce fichier montre le nombre maximal d'entrées de quota de disque en
cache. Sur certains systèmes (2.4), il est absent. Si le nombre
d’entrées de quota de disque libres est très bas, et
si vous avez un nombre important d'utilisateurs simultanés, vous
pouvez augmenter cette valeur.
- /proc/sys/fs/dquot-nr
- Ce fichier montre le nombre d'entrées de quota de disque
allouées et le nombre d'entrées libres.
- /proc/sys/fs/epoll/ (depuis Linux 2.6.28)
- Ce répertoire contient le fichier max_user_watches qui peut
être utilisé pour limiter la quantité de
mémoire du noyau utilisée par l'interface epoll.
Consulter epoll(7) pour davantage d'informations.
- /proc/sys/fs/file-max
- Ce fichier est la limite pour tout le système du nombre de fichiers
ouverts par tous les processus. Les appels système qui
échouent à cause de cette limite échouent avec
l’erreur ENFILE (consulter aussi setrlimit(2) qui
permet de définir la limite par processus, RLIMIT_NOFILE, du
nombre de fichiers qu’il peut ouvrir). Si de nombreux messages
d'erreurs dans le journal du noyau indiquent un manque de gestionnaires de
fichiers (descripteurs de fichier ouvert – rechercher
« VFS: file-max limit <number>
reached »), essayez d'augmenter cette valeur.
-
echo 100000 > /proc/sys/fs/file-max
- Les processus privilégiés (CAP_SYS_ADMIN) peuvent
écraser la limite file-max.
- /proc/sys/fs/file-nr
- Ce fichier en lecture seule contient trois nombres : le nombre de
gestionnaires de fichiers alloués (c'est-à-dire le nombre de
descriptions de fichier ouverts, consulter open(2)), le nombre de
gestionnaires de fichier libres et le nombre maximal de gestionnaires de
fichier (c'est-à-dire la même valeur que
/proc/sys/fs/file-max). Si le nombre de gestionnaires
alloués est proche du maximum, le nombre maximal doit être
augmenté. Avant Linux 2.6, le noyau allouait les
gestionnaires dynamiquement, mais en retour ne les libérait pas. Au
lieu de cela, les gestionnaires de fichier libres étaient
stockés dans une liste pour être réalloués, le
nombre « gestionnaires de fichier libres » se
référant à la taille de cette liste. Un nombre
élevé de gestionnaires de fichier libres était
l'indication qu'un pic d'utilisation s'était produit. Depuis
Linux 2.6, le noyau désalloue les gestionnaires de fichier
libres, et le nombre « gestionnaires de fichier
libres » est toujours zéro.
- /proc/sys/fs/inode-max (avant Linux 2.2)
- Ce fichier contient le nombre maximal d'inœuds en mémoire.
Cette valeur devrait être 3 à 4 fois plus
grande que le nombre file-max, car stdin, stdout et
les sockets réseau nécessitent aussi des inœuds pour
les gérer. En cas de manque régulier d’inœuds,
cette valeur doit être augmentée.
- Depuis Linux 2.4, il n'y a plus de limite statique du nombre
d'inœuds et ce fichier n'existe plus.
- /proc/sys/fs/inode-nr
- Ce fichier contient les deux premières valeurs
d'inode-state.
- /proc/sys/fs/inode-state
- Ce fichier contient sept nombres : nr_inodes,
nr_free_inodes, preshrink et quatre valeurs non
significatives (toujours zéro).
- nr_inodes est le nombre d'inœuds alloués par le
système. nr_free_inodes représente le nombre
d'inœuds libres.
- preshrink est non nul lorsque nr_inodes >
inode-max et que le système doit purger la liste
d'inœuds plutôt qu'en allouer davantage. Ce champ n'est plus
significatif depuis Linux 2.4 (toujours zéro).
- /proc/sys/fs/inotify/ (depuis Linux 2.6.13)
- Ce répertoire contient les fichiers max_queued_events,
max_user_instances et max_user_watches, qui permettent de
limiter la quantité de mémoire du noyau utilisée par
l'interface inotify. Consulter inotify(7) pour davantage
d'informations.
- /proc/sys/fs/lease-break-time
- Ce fichier indique le délai de grâce que le noyau accorde
à un processus détenant un bail de fichier (fcntl(2))
après qu'il lui a envoyé un signal indiquant qu'un autre
processus attend pour ouvrir le fichier. Si, durant le délai de
grâce, le détenteur du bail ne le supprime pas ou ne le
réduit pas, le noyau cassera le bail d’autorité.
- /proc/sys/fs/leases-enable
- Ce fichier permet d'activer ou désactiver les baux de fichier
(fcntl(2)) pour tout le système. Si ce fichier contient la
valeur 0, les baux sont cassés. Une valeur non nulle active
les baux.
- /proc/sys/fs/mount-max (depuis Linux 4.9)
- La valeur dans ce fichier indique le nombre maximal de montages pouvant
exister dans l’espace de noms montage. La valeur par défaut
est 100 000.
- /proc/sys/fs/mqueue/ (depuis Linux 2.6.6)
- Ce répertoire contient les fichiers msg_max,
msgsize_max et queues_max qui contrôlent les
ressources utilisées par les files de messages POSIX. Consulter
mq_overview(7) pour davantage d'informations.
- /proc/sys/fs/nr_open (depuis Linux 2.6.25)
- Ce fichier impose un plafond à la valeur que la limite
RLIMIT_NOFILE peut atteindre (consulter getrlimit(2)). Ce
plafond est imposé pour les processus, qu’ils soient
privilégiés ou non. La valeur par défaut dans ce
fichier est 1048576 (avant Linux 2.6.25, le plafond pour
RLIMIT_NOFILE était codé en dur à la
même valeur).
- /proc/sys/fs/overflowgid et /proc/sys/fs/overflowuid
- Ces fichiers permettent de changer la valeur des GID et UID fixes
– par défaut 65534. Certains systèmes de
fichiers ne gèrent que des UID et GID de 16 bits, bien que
les UID et GID dans Linux soient de 32 bits. Lorsque l'un de ces
systèmes de fichiers est monté en lecture/écriture,
tout UID ou GID dépassant 65535 est remplacé par la valeur
de débordement avant l'écriture sur le disque.
- /proc/sys/fs/pipe-max-size (depuis Linux 2.6.35)
- Consulter pipe(7).
- /proc/sys/fs/pipe-user-pages-hard (depuis Linux 4.5)
- Consulter pipe(7).
- /proc/sys/fs/pipe-user-pages-soft (depuis Linux 4.5)
- Consulter pipe(7).
- /proc/sys/fs/protected_fifos (depuis Linux 4.19)
- La valeur dans ce fichier est/peut être une des valeurs
suivantes :
- 0
- Écriture dans des FIFO non restreinte.
- 1
- Ne pas autoriser O_CREAT open(2) dans des FIFO que
l’appelant ne possède pas dans ses répertoires
« sticky » éditables par tout le monde,
à moins que le propriétaire du répertoire ne soit le
propriétaire d’une FIFO.
- 2
- Comme pour la valeur 1, mais les restrictions s’appliquent
aussi aux répertoires « sticky »
éditables par le groupe.
- Le but des protections précédentes est
d’éviter des écritures accidentelles dans une FIFO
contrôlée par un attaquant quand le programme avait
l'intention de créer un fichier normal.
- /proc/sys/fs/protected_hardlinks (depuis Linux 3.6)
- Quand la valeur dans ce fichier est 0, aucune restriction
n'empêche la création de liens physiques
(c'est-à-dire le comportement historique avant Linux 3.6).
Quand la valeur de ce fichier est 1, un lien physique ne peut
être créé vers un fichier cible que si une des
conditions suivantes est vraie :
- Le processus appelant a la capacité CAP_FOWNER dans son
espace de noms utilisateur et l’UID du fichier a un mappage dans
l’espace de noms.
- L'UID de système de fichiers du processus créant le lien
correspond au propriétaire (UID) du fichier cible
(conformément à la description dans credentials(7),
l'UID de système de fichiers d'un processus est normalement le
même que son UID effectif).
- Toutes les conditions suivantes sont vraies :
- la cible est un fichier ordinaire ;
- le fichier cible n'a pas son bit set-user-ID activé ;
- le fichier cible n'a aucun de ses bits set-group-ID et de mode
exécutable activé ;
- l'appelant a le droit de lire et écrire le fichier cible (soit
à travers le masque des droits du fichier, soit parce qu’il
dispose de la capacité nécessaire).
- La valeur par défaut dans ce fichier est 0. Définir
cette valeur à 1 empêche une classe de
problèmes de sécurité anciens provoqués par
des situations de compétition d’instant de
vérification basé sur des liens physiques ou
d’instant d’utilisation, rencontrés le plus souvent
dans des répertoires accessibles en écriture à tous
comme /tmp. La méthode habituelle pour exploiter ce
défaut est de croiser les limites de droits lors du suivi d'un lien
physique donné (c'est-à-dire qu'un processus du
superutilisateur suit un lien créé par un autre
utilisateur). De plus, sur les systèmes sans partitions
séparées, cela empêche les utilisateurs non
autorisés d'« épingler » les
fichiers set-user-ID et set-group-ID vulnérables, pour les
empêcher d'être mis à jour par l'administrateur ou
d'être liés vers des fichiers spéciaux.
- /proc/sys/fs/protected_regular (depuis Linux 4.19)
- La valeur dans ce fichier est/peut être une des valeurs
suivantes :
- 0
- Écriture dans des fichiers normaux non restreinte.
- 1
- Ne pas autoriser O_CREAT open(2) dans des fichiers normaux
dont l’appelant n’est pas le propriétaire dans ses
répertoires « sticky » éditables
par tout le monde, à moins que le propriétaire du
répertoire ne soit le propriétaire du fichier normal.
- 2
- Comme pour la valeur 1, mais les restrictions s’appliquent
aussi aux répertoires « sticky »
éditables par le groupe.
- Le but des protections précédentes est similaire à
protected_fifos, mais permet à une application
d’éviter des écritures dans un fichier normal
contrôlé par un attaquant quand le programme avait
l'intention d’en créer un.
- /proc/sys/fs/protected_symlinks (depuis Linux 3.6)
- Quand la valeur dans ce fichier est 0, aucune restriction
n'empêche le suivi de liens symboliques (c'est-à-dire le
comportement historique avant Linux 3.6). Quand la valeur de ce
fichier est 1, les liens symboliques ne sont suivis que dans l'une
des circonstances suivantes :
- l'UID de système de fichiers du processus suivant le lien
correspond au propriétaire (UID) du lien symbolique
(conformément à la description dans credentials(7),
l'UID de système de fichiers d'un processus est normalement le
même que son UID effectif) ;
- le lien n'est pas dans un répertoire
« sticky » accessible en écriture
à tous ;
- le lien symbolique et son répertoire parent ont le même
propriétaire (UID).
- Un appel système qui n'arrive pas à suivre un lien
symbolique à cause des restrictions ci-dessus renvoie l'erreur
EACCES dans errno.
- La valeur par défaut dans ce fichier est 0. Définir
cette valeur à 1 empêche une classe de
problèmes de sécurité anciens basés sur des
situations de compétition d’instant de vérification
ou d’instant d'utilisation lors de l'accès aux liens
symboliques.
- /proc/sys/fs/suid_dumpable (depuis Linux 2.6.13)
- La valeur dans ce fichier est assignée à un drapeau
« dumpable » de processus dans les
circonstances décrites dans prctl(2). En effet, la valeur
dans ce fichier détermine si les fichiers de vidage mémoire
sont produits pour des binaires set-user-ID ou pour des binaires
protégés/corrompus. Le réglage
« dumpable » affecte aussi
l’appartenance de fichiers dans un répertoire
/proc/pid de processus comme cela est décrit ci-dessus.
- Trois valeurs d’entier différentes peuvent être
indiquées :
- 0 (par défaut)
- Cette valeur correspond au comportement traditionnel (antérieur
à Linux 2.6.13). Une image mémoire ne sera pas
produite pour un processus qui a modifié ses droits (en appelant
seteuid(2), setgid(2), ou autre, ou en exécutant un
programme set-user-ID ou set-group-ID) ou dont le binaire n'a pas le droit
de lecture activé.
- 1 (« débogage »)
- Des images mémoire de tous les processus seront faites si possible
(les raisons pour lesquelles des images mémoire sont
néanmoins possibles sont décrites dans core(5)).
L'image mémoire appartient à l'ID utilisateur du
système de fichiers du processus dont l'image a été
créée et aucune mesure de sécurité n'est
prise. Cette valeur n'est prévue que pour des raisons de
débogage, ce mode n’étant pas
sécurisé ; il permet en effet aux utilisateurs non
privilégiés d’examiner le contenu de la
mémoire des processus privilégiés.
- 2 (« suidsafe »)
- L'image mémoire d'un binaire qui n'aurait normalement pas
été vidée (voir « 0 »
ci-dessus) est sauvegardée et lisible par le superutilisateur
(root) seulement. Cela permet à l'utilisateur de pouvoir supprimer
l'image mémoire mais pas de la lire. Pour des raisons de
sécurité, les images mémoire prises dans ce mode n'en
écraseront pas une autre ou d'autres fichiers. Ce mode est
adéquat lorsque l'administrateur essaie de déboguer des
problèmes dans un environnement normal.
- De plus, depuis Linux 3.6, /proc/sys/kernel/core_pattern
doit être soit un chemin absolu, soit une commande de tube
(« pipe »), comme précisé dans
core(5). Des avertissements seront écrits dans le journal du
noyau si core_pattern ne suit pas ces règles et aucune image
mémoire ne sera produite.
- Pour plus de détails sur les effets du réglage
« dumpable » d’un processus sur la
vérification du mode d’accès ptrace, consulter
ptrace(2).
- /proc/sys/fs/super-max
- Ce fichier indique le nombre maximal de superblocs, et donc le nombre
maximal de systèmes de fichiers que le noyau peut monter. Vous
n'avez besoin d'augmenter super-max que si vous désirez
monter plus de systèmes de fichiers que ce que la valeur actuelle
de super-max vous permet.
- /proc/sys/fs/super-nr
- Ce fichier contient le nombre de systèmes de fichiers montés
actuellement.
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.