![如何获取文件所有扩展属性的转储?](https://linux22.com/image/91703/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%96%87%E4%BB%B6%E6%89%80%E6%9C%89%E6%89%A9%E5%B1%95%E5%B1%9E%E6%80%A7%E7%9A%84%E8%BD%AC%E5%82%A8%EF%BC%9F.png)
Getfattr 转储所选文件的扩展属性列表。
但是,getfattr --dump filename
仅转储user.*
命名空间,而不转储security.*
、system.*
和trusted.*
命名空间。通常,除非您手动将用户命名空间属性附加到文件,否则不存在用户命名空间属性。
是的,我知道我可以通过使用 来获取 SELinux 信息getfattr -n security.selinux filename
。这样的话,我就知道了扩展属性的具体标识。
我以 root 用户身份尝试过此操作。我假设具有完整功能的根用户能够访问此信息。但您只能获得 user.* 命名空间转储。
问题是,在不知道所有命名空间中所有键的名称的情况下,如何轻松获取文件的所有扩展属性命名空间的完整转储?
答案1
我讨厌这样做,但答案是(经过更多研究):
getfattr -d -m - file
我在阅读的过程中显然错过了这一点手册页:
-m 图案,- 匹配=图案
仅包含名称与正则表达式匹配的属性图案。 [...] 指定“-”以包含所有属性。