xattr(7) Miscellaneous Information Manual xattr(7) NOM xattr - Attributs etendus DESCRIPTION Les attributs etendus sont des paires nom:valeur associees de facon permanente a des fichiers ou des repertoires, de maniere similaire aux chaines d'environnement associees a un processus. Un attribut peut etre defini ou non. S'il l'est, sa valeur peut etre absente ou non. Les attributs etendus sont des extensions aux attributs normaux qui sont associes a tous les inoeuds (inode) du systeme (c'est-a-dire les donnees stat(2)). Il sont souvent utilises pour fournir des fonctionnalites supplementaires a un systeme de fichiers, par exemple, des fonctions de securite telles que les listes de controle d'acces (ACL) peuvent etre mises en oeuvre en utilisant les attributs etendus. Les utilisateurs ayant le droit de recherche pour un fichier ou un repertoire peuvent utiliser listxattr(2) pour recuperer une liste des noms des attributs definis pour ce fichier ou ce repertoire. Les attributs etendus sont obtenus sous forme d'objets atomiques. Leur lecture (getxattr(2)) recupere en entier la valeur d'un attribut et la stocke dans un tampon. Leur ecriture (setxattr(2)) remplace toute valeur precedente par sa nouvelle valeur. L'espace utilise pour les attributs etendus peut etre decompte des quotas de disque du proprietaire du fichier ou du groupe de fichiers. Espaces de noms des attributs etendus Les noms d'attribut sont des chaines terminees par NULL. Le nom d'attribut est toujours indique sous la forme complete espace_de_noms.attribut, par exemple, user.mime_type, trusted.md5sum, system.posix_acl_access ou security.selinux. Le mecanisme d'espace de noms est utilise pour definir des classes differentes d'attributs etendus. Ces classes existent pour plusieurs raisons. Par exemple, les permissions et les capacites necessaires pour manipuler les attributs etendus peuvent differer d'un espace de noms a un autre. Actuellement les classes d'attributs etendus security, system, trusted et user sont definies comme decrites ci-apres. De nouvelles classes pourront etre ajoutees dans le futur. Attributs etendus de securite L'espace de noms des attributs de securite est utilise par les modules de securite du noyau, tels que Security Enhanced Linux et mettent en oeuvre des capacites de fichier (consultez capabilities(7)). Les permissions de lecture et ecriture des attributs de securite dependent de la politique mise en oeuvre pour chaque attribut de securite par le module de securite. Quand aucun module de securite n'est charge, tous les processus ont l'acces en lecture des attributs etendus de securite et l'acces en ecriture est limite aux processus qui ont la capacite CAP_SYS_ADMIN. attributs etendus du systeme Les attributs etendus du systeme sont utilises par le noyau pour stocker des objets du systeme tels que les ACL (Access Control List). L'acces en lecture et ecriture depend de la politique mise en oeuvre pour chaque attribut du systeme implemente par les systemes de fichiers dans le noyau. Attributs etendus fiables Les attributs etendus fiables (trusted) sont visibles et accessibles uniquement aux processus qui ont la capacite CAP_SYS_ADMIN. Les attributs de cette classe sont utilises pour implementer des mecanismes en espace utilisateur (c'est-a-dire en dehors du noyau) qui conserve l'information dans des attributs etendus auxquels les processus ordinaires ne devraient pas avoir acces. Attributs etendus d'utilisateur Les attributs etendus d'utilisateur peuvent etre assignes a des fichiers et des repertoires pour stocker des informations arbitraires supplementaires telles que le type MIME, le jeu de caracteres ou l'encodage du fichier. Les permissions d'acces pour les attributs d'utilisateur sont definis par les bits de permissions de fichier : la permission de lecture est necessaire pour recuperer la valeur d'attribut et la permission d'ecriture est necessaire pour la modifier. Les bits de permission des fichiers normaux et des repertoires sont interpretes differemment des bits de permission de fichiers speciaux et de liens symboliques. Pour les fichiers normaux et les repertoires, les bits de permission definissent l'acces aux contenus de fichier tandis que pour les fichiers speciaux ils definissent l'acces au peripherique decrit par le fichier special. Les permissions de fichier des liens symboliques ne sont pas utilisees dans les verifications d'acces. Ces differences pourraient permettre d'utiliser des ressources de systeme de fichiers d'une facon non controlable par les quotas de disque pour le groupe ou pour les fichiers speciaux ou les repertoires accessibles a tous. Pour cette raison, les attributs etendus d'utilisateur sont autorises pour les fichiers normaux et les repertoires, et l'acces aux attributs etendus d'utilisateur est restreint au proprietaire et aux utilisateurs avec les capacites appropriees pour les repertoires avec le bit sticky defini (consultez la page de manuel de chmod(1) pour une explication sur le bit sticky). Differences entre systemes de fichiers Le noyau et le systeme de fichiers peuvent poser des limites sur le nombre maximal et la taille des attributs etendus pouvant etre associes a un fichier. Le systeme 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 etre renvoyee est aussi limitee a 64 ko (consultez la section BOGUES dans listxattr(2)). Certains systemes de fichiers, tel Reiserfs (et, historiquement, ext2 et ext3), exigent que le systeme de fichiers soit monte avec l'option de montage user_xattr pour pouvoir utiliser les attributs etendus d'utilisateur. Dans les implementations actuelles de systemes de fichiers ext2, ext3 et ext4, le total des octets utilises par les noms et valeurs de tous les attributs etendus de fichier doivent loger dans un seul bloc du systeme de fichiers (1024, 2048 ou 4096 octets, en fonction de la taille de bloc specifiee lors de la creation du systeme de fichiers). Dans les implementations de systeme de fichiers Btrfs, XFS et Reiserfs, il n'existe pas dans la pratique de limite sur le nombre d'attributs etendus associes a un fichier et les algorithmes utilises pour stocker les informations d'attributs etendus sur le disque sont redimensionnables. Dans les implementations de systeme de fichiers JFS, XFS et Reiserfs, la limite pour les octets utilises dans une valeur d'attribut etendu est le plafond impose par le systeme de fichiers virtuel (VFS). Dans l'implementation du systeme de fichiers Btrfs, le total des octets utilises pour le nom, la valeur et les octets d'en-tete de l'implementation est limite a la valeur nodesize du systeme de fichiers (16 ko par defaut). STANDARDS Les attributs etendus ne sont pas mentionnes dans POSIX.1, mais certains autres systemes (par exemple, les BSD et Solaris) fournissent une fonctionnalite semblable. NOTES Puisque les systemes de fichiers pour lesquels les attributs etendus sont stockes peuvent etre aussi utilises sur des architectures avec un ordre pour les octets differents et une taille de mot de la machine differente, une attention devrait etre portee a stocker les valeurs d'attribut dans un format independant de l'architecture. Cette page etait precedemment appelee 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) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 xattr(7)