Como obtenho um despejo de todos os atributos estendidos para um arquivo?


15

Getfattr despeja uma lista de atributos estendidos para um arquivo selecionado.

No entanto, getfattr --dump filename apenas despeja o user.*namespace e não as security.*, system.*e trusted.*namespaces. Geralmente, não há atributos de espaço para nome de usuário, a menos que você tenha anexado um a um arquivo manualmente.

Sim, eu sei que posso obter as informações do SELinux usando getfattr -n security.selinux filename. Nesse caso, eu sei a identificação específica do atributo estendido.

Eu tentei isso como o usuário root. Eu diria que o usuário root com todos os recursos é capaz de acessar essas informações. Mas você só recebe o despejo de namespace user. *.

A questão é como posso obter facilmente um despejo completo de todos os namespaces de atributos estendidos de um arquivo sem saber os nomes de todas as chaves em todos os namespaces?


e "lsattr" não é suficiente? (consulte "man chattr" para decodificar a cadeia de atributos longos)
Theophrastus

Respostas:


12

Eu odeio fazer isso, mas a resposta é (depois de mais pesquisas):

 getfattr -d -m - file

Aparentemente, eu perdi isso na minha leitura da página de manual :

-m padrão , --match = padrão

   Inclua apenas atributos com nomes que correspondam ao padrão de expressão regular . [...] Especifique "-" para incluir todos os atributos.


Eu estava usando getfattr -d -m '' filepara isso, não sabia que -era um caso especial, mas parece que tem sido assim desde que o recurso foi adicionado (inicialmente como -ropção). Uma vergonha. É preciso usar -m '[-]'para procurar atributos que contenham -.
Stéphane Chazelas
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.