How do I get a dump of all extended attributes for a file?

19,451

I hate to do this but the answer is (after more research):

 getfattr -d -m - file

I apparently missed this in my reading of the man page:

-m pattern, --match=pattern

   Only include attributes with names matching the regular expression pattern. [...] Specify "-" for including all attributes.

Share:
19,451

Related videos on Youtube

text
Author by

text

I love UNIX/Linux and Systems Administration.

Updated on September 18, 2022

Comments

  • text
    text almost 2 years

    Getfattr dumps a listing of extended attributes for a selected file.

    However, getfattr --dump filename only to dumps the user.* namespace and not the security.*, system.*, and trusted.* namespaces. Generally, there are no user namespace attributes unless you attached one to a file manually.

    Yes I know I can get the SELinux information by using getfattr -n security.selinux filename. In this case, I know the specific identification of the extended attribute.

    I have tried this as the root user. I'd assume that the root user with full capabilities is able to access this information. But you only get the user.* namespace dump.

    The question is how can I easily get a full dump of all the extended attribute namespaces of a file without knowing the names of all the keys in all the namespaces?

    • Ulises Sánchez
      Ulises Sánchez almost 8 years
      and "lsattr" doesn't suffice? (see "man chattr" in order to decode the long attribute string)
  • Stéphane Chazelas
    Stéphane Chazelas almost 7 years
    I was using getfattr -d -m '' file for that, I wasn't aware - was a special case, but it looks like it's been like that ever since the feature was added (initially as the -r option). A shame. One needs to use -m '[-]' to search for attributes that contain -.