Comment obtenir un vidage de tous les attributs étendus d'un fichier?

16

Getfattr sauvegarde une liste d'attributs étendus pour un fichier sélectionné.

Cependant, getfattr --dump filename seulement pour les dépotoirs l' user.*espace de noms et non les security.*, system.*et les trusted.*espaces de noms. En règle générale, il n'y a pas d'attributs d'espace de noms d'utilisateurs, sauf si vous en avez joint un manuellement.

Oui, je sais que je peux obtenir les informations SELinux en utilisant getfattr -n security.selinux filename. Dans ce cas, je connais l'identification spécifique de l'attribut étendu.

J'ai essayé cela en tant qu'utilisateur root. Je suppose que l'utilisateur root avec toutes les capacités est en mesure d'accéder à ces informations. Mais vous obtenez uniquement le vidage de l'espace de noms user. *.

La question est de savoir comment puis-je obtenir facilement un vidage complet de tous les espaces de noms d'attributs étendus d'un fichier sans connaître les noms de toutes les clés dans tous les espaces de noms?

mdpc
la source
et "lsattr" ne suffit pas? (voir "man chattr" afin de décoder la longue chaîne d'attributs)
Theophrastus

Réponses:

12

Je déteste faire ça mais la réponse est (après plus de recherches):

 getfattr -d -m - file

J'ai apparemment manqué cela dans ma lecture de la page de manuel :

-m modèle , --match = modèle

   N'incluez que les attributs dont les noms correspondent au modèle d' expression régulière . [...] Spécifiez "-" pour inclure tous les attributs.

mdpc
la source
J'utilisais getfattr -d -m '' filepour cela, je ne savais pas que -c'était un cas spécial, mais il semble que ce soit le cas depuis l'ajout de la fonctionnalité (initialement en -roption). Une honte. Il faut utiliser -m '[-]'pour rechercher des attributs qui contiennent -.
Stéphane Chazelas