Provided by: manpages-fr_4.13-4_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).

CONFORMITÉ

       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),    ioctl_iflags(2),    listxattr(2),
       removexattr(2), setxattr(2), acl(5), capabilities(7), selinux(8)

COLOPHON

       Cette  page  fait partie de la publication 5.10 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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 ⟨⟩.