Man page - xattr(7)

Packages contains this manual

Available languages:

en fr pl ru ro

Manual

xattr

NOM
DESCRIPTION
Espaces de noms des attributs étendus
Attributs étendus de sécurité
attributs étendus du systÚme
Attributs étendus fiables
Attributs Ă©tendus d’utilisateur
Différences entre systÚmes de fichiers
STANDARDS
NOTES
VOIR AUSSI
TRADUCTION

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 .