如何获得文件的所有扩展属性的转储?


16

Getfattr转储所选文件的扩展属性列表。

然而,getfattr --dump filename 只有转储user.*命名空间,而不是security.*system.*trusted.*命名空间。通常,除非您手动将用户名称空间属性附加到文件,否则没有用户名称空间属性。

是的,我知道我可以使用来获取SELinux信息getfattr -n security.selinux filename。在这种情况下,我知道扩展属性的特定标识。

我已经以root用户身份尝试过此操作。我假设具有全部功能的root用户可以访问此信息。但是您只会得到user。*名称空间转储。

问题是,如何在不知道所有命名空间中所有键的名称的情况下,轻松地获得文件的所有扩展属性命名空间的完整转储?


和“ lsattr”还不够吗?(请参阅“ man chattr”以解码长属性字符串)
Theophrastus

Answers:


12

我讨厌这样做,但答案是(经过更多研究):

 getfattr -d -m - file

我在阅读手册页时显然错过了这一点:

-m 模式,-- match = 模式

   仅包括名称与正则表达式模式匹配的属性。[...]指定“-”以包括所有属性。


我一直在使用getfattr -d -m '' file它,我不知道这-是一种特殊情况,但是自从添加功能(最初是作为-r选项)以来,就好像是这样。丢人现眼。需要使用-m '[-]'来搜索包含的属性-
斯特凡Chazelas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.