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)