Jak uzyskać zrzut wszystkich rozszerzonych atrybutów pliku?

16

Getfattr zrzuca listę rozszerzonych atrybutów dla wybranego pliku.

Jednakże, getfattr --dump filename tylko zrzuca user.*nazw, a nie te security.*, system.*i trusted.*przestrzenie nazw. Zasadniczo nie ma atrybutów przestrzeni nazw użytkownika, chyba że ręcznie dołączysz jeden do pliku.

Tak, wiem, że mogę uzyskać informacje o SELinux za pomocą getfattr -n security.selinux filename. W tym przypadku znam konkretną identyfikację rozszerzonego atrybutu.

Próbowałem tego jako użytkownik root. Zakładam, że użytkownik root z pełnymi możliwościami może uzyskać dostęp do tych informacji. Ale dostajesz tylko zrzut przestrzeni nazw użytkownika. *

Pytanie brzmi: w jaki sposób mogę łatwo uzyskać pełny zrzut wszystkich rozszerzonych przestrzeni nazw atrybutów pliku, nie znając nazw wszystkich kluczy we wszystkich przestrzeniach nazw?

mdpc
źródło
a „lsattr” nie wystarczy? (patrz „man chattr”, aby zdekodować długi ciąg atrybutów)
Theophrastus,

Odpowiedzi:

12

Nienawidzę tego robić, ale odpowiedź brzmi (po dalszych badaniach):

 getfattr -d -m - file

I najwyraźniej brakowało w moim czytaniu strony man :

-m wzorzec , --match = wzorzec

   Uwzględnij tylko atrybuty o nazwach pasujących do wzorca wyrażenia regularnego . [...] Podaj „-”, aby uwzględnić wszystkie atrybuty.

mdpc
źródło
Używałem getfattr -d -m '' filedo tego, nie wiedziałem, że -był to specjalny przypadek, ale wygląda na to, że tak było odkąd została dodana funkcja (początkowo jako -ropcja). Wstyd. Trzeba użyć, -m '[-]'aby wyszukać atrybuty, które zawierają -.
Stéphane Chazelas