Provided by: manpages-fr_4.27.0-1_all bug

NOM

       xattr - Attributs étendus

DESCRIPTION

       Les  attributs  étendus  sont  des  paires nom:valeur associées de façon permanente à des fichiers ou des
       répertoires, de manière similaire aux chaînes d’environnement associées à un processus. Un attribut  peut
       être défini ou non. S’il l’est, sa valeur peut être absente ou non.

       Les  attributs  étendus  sont  des  extensions  aux attributs normaux qui sont associés à tous les inœuds
       (inode) du système (c’est-à-dire les  données  stat(2)).  Il  sont  souvent  utilisés  pour  fournir  des
       fonctionnalités  supplémentaires  à un système de fichiers, par exemple, des fonctions de sécurité telles
       que les listes de contrôle d’accès (ACL) peuvent être mises en œuvre en utilisant les attributs étendus.

       Les utilisateurs ayant le  droit  de  recherche  pour  un  fichier  ou  un  répertoire  peuvent  utiliser
       listxattr(2) pour récupérer une liste des noms des attributs définis pour ce fichier ou ce répertoire.

       Les  attributs étendus sont obtenus sous forme d’objets atomiques. Leur lecture (getxattr(2)) récupère en
       entier la valeur d’un attribut et la stocke dans un tampon. Leur écriture  (setxattr(2))  remplace  toute
       valeur précédente par sa nouvelle valeur.

       L’espace  utilisé  pour  les attributs étendus peut être décompté des quotas de disque du propriétaire du
       fichier ou du groupe de fichiers.

   Espaces de noms des attributs étendus
       Les noms d’attribut sont des chaînes terminées par NULL. Le nom d’attribut est toujours indiqué  sous  la
       forme     complète     espace_de_noms.attribut,     par    exemple,    user.mime_type,    trusted.md5sum,
       system.posix_acl_access ou security.selinux.

       Le mécanisme d’espace de noms est utilisé pour définir des classes différentes d’attributs  étendus.  Ces
       classes  existent  pour plusieurs raisons. Par exemple, les permissions et les capacités nécessaires pour
       manipuler les attributs étendus peuvent différer d’un espace de noms à un autre.

       Actuellement les classes d’attributs étendus security,  system,  trusted  et  user  sont  définies  comme
       décrites ci-après. De nouvelles classes pourront être ajoutées dans le futur.

   Attributs étendus de sécurité
       L’espace  de  noms  des  attributs de sécurité est utilisé par les modules de sécurité du noyau, tels que
       Security Enhanced Linux et mettent en œuvre des capacités de  fichier  (consultez  capabilities(7)).  Les
       permissions de lecture et écriture des attributs de sécurité dépendent de la politique mise en œuvre pour
       chaque  attribut de sécurité par le module de sécurité. Quand aucun module de sécurité n’est chargé, tous
       les processus ont l’accès en lecture des attributs étendus de sécurité et l’accès en écriture est  limité
       aux processus qui ont la capacité CAP_SYS_ADMIN.

   attributs étendus du système
       Les  attributs  étendus du système sont utilisés par le noyau pour stocker des objets du système tels que
       les ACL (Access Control List). L’accès en lecture et écriture dépend de la politique mise en  œuvre  pour
       chaque attribut du système implémenté par les systèmes de fichiers dans le noyau.

   Attributs étendus fiables
       Les  attributs étendus fiables (trusted) sont visibles et accessibles uniquement aux processus qui ont la
       capacité CAP_SYS_ADMIN. Les attributs de cette classe sont utilisés pour implémenter  des  mécanismes  en
       espace  utilisateur  (c’est-à-dire  en  dehors  du  noyau)  qui conserve l’information dans des attributs
       étendus auxquels les processus ordinaires ne devraient pas avoir accès.

   Attributs étendus d’utilisateur
       Les attributs étendus d’utilisateur peuvent être assignés à des fichiers et des répertoires pour  stocker
       des  informations arbitraires supplémentaires telles que le type MIME, le jeu de caractères ou l’encodage
       du fichier. Les permissions d’accès pour les  attributs  d’utilisateur  sont  définis  par  les  bits  de
       permissions  de  fichier : la permission de lecture est nécessaire pour récupérer la valeur d’attribut et
       la permission d’écriture est nécessaire pour la modifier.

       Les bits de permission des fichiers normaux et des répertoires sont interprétés différemment des bits  de
       permission  de  fichiers  spéciaux et de liens symboliques. Pour les fichiers normaux et les répertoires,
       les bits de permission définissent l’accès aux contenus de fichier tandis que pour les fichiers  spéciaux
       ils  définissent  l’accès  au  périphérique décrit par le fichier spécial. Les permissions de fichier des
       liens symboliques ne sont pas utilisées  dans  les  vérifications  d’accès.  Ces  différences  pourraient
       permettre  d’utiliser des ressources de système de fichiers d’une façon non contrôlable par les quotas de
       disque pour le groupe ou pour les fichiers spéciaux ou les répertoires accessibles à tous.

       Pour cette raison, les attributs étendus d’utilisateur sont autorisés pour les fichiers  normaux  et  les
       répertoires,  et  l’accès  aux  attributs  étendus  d’utilisateur  est  restreint  au propriétaire et aux
       utilisateurs avec les capacités appropriées pour les répertoires avec le bit sticky défini (consultez  la
       page de manuel de chmod(1) pour une explication sur le bit sticky).

   Différences entre systèmes de fichiers
       Le  noyau  et  le  système  de  fichiers peuvent poser des limites sur le nombre maximal et la taille des
       attributs étendus pouvant être associés à un fichier. Le système de fichiers virtuel (VFS)  impose  comme
       limitations  pour  un nom d’attribut 255 octets et 64 ko pour sa valeur. La liste des noms d’attribut qui
       peut être renvoyée est aussi limitée à 64 ko (consultez la section BOGUES dans listxattr(2)).

       Certains systèmes de fichiers, tel Reiserfs (et, historiquement, ext2 et ext3), exigent que le système de
       fichiers soit monté avec l’option de montage user_xattr  pour  pouvoir  utiliser  les  attributs  étendus
       d’utilisateur.

       Dans  les  implémentations  actuelles  de  systèmes  de  fichiers ext2, ext3 et ext4, le total des octets
       utilisés par les noms et valeurs de tous les attributs étendus de fichier doivent loger dans un seul bloc
       du système de fichiers (1024, 2048 ou 4096 octets, en fonction de la taille de bloc spécifiée lors de  la
       création du système de fichiers).

       Dans  les implémentations de système de fichiers Btrfs, XFS et Reiserfs, il n’existe pas dans la pratique
       de limite sur le nombre d’attributs étendus associés à  un  fichier  et  les  algorithmes  utilisés  pour
       stocker les informations d’attributs étendus sur le disque sont redimensionnables.

       Dans  les implémentations de système de fichiers JFS, XFS et Reiserfs, la limite pour les octets utilisés
       dans une valeur d’attribut étendu est le plafond imposé par le système de fichiers virtuel (VFS).

       Dans l’implémentation du système de fichiers Btrfs, le total des octets utilisés pour le nom,  la  valeur
       et les octets d’en-tête de l’implémentation est limité à la valeur nodesize du système de fichiers (16 ko
       par défaut).

STANDARDS

       Les  attributs  étendus  ne sont pas mentionnés dans POSIX.1, mais certains autres systèmes (par exemple,
       les BSD et Solaris) fournissent une fonctionnalité semblable.

NOTES

       Puisque les systèmes de fichiers pour lesquels les attributs étendus  sont  stockés  peuvent  être  aussi
       utilisés  sur  des  architectures  avec  un  ordre  pour les octets différents et une taille de mot de la
       machine différente, une attention devrait être portée à stocker les valeurs  d’attribut  dans  un  format
       indépendant de l’architecture.

       Cette page était précédemment appelée attr(5).

VOIR AUSSI

       attr(1),   getfattr(1),   setfattr(1),   getxattr(2),  FS_IOC_GETFLAGS(2const),  FS_IOC_SETFLAGS(2const),
       listxattr(2), removexattr(2), setxattr(2), acl(5), capabilities(7), selinux(8)

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> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

       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.

Pages du manuel de Linux 6.9.1                    13 juin 2024                                          xattr(7)