Wie erhalte ich einen Speicherauszug aller erweiterten Attribute für eine Datei?

15

Getfattr erstellt eine Liste der erweiterten Attribute für eine ausgewählte Datei.

Allerdings getfattr --dump filename Dumps nur auf den user.*Namespace und nicht die security.*, system.*und trusted.*Namensräume. Im Allgemeinen gibt es keine Benutzer-Namespace-Attribute, es sei denn, Sie haben eines manuell an eine Datei angehängt.

Ja, ich weiß, dass ich mithilfe von die SELinux-Informationen abrufen kann getfattr -n security.selinux filename. In diesem Fall kenne ich die spezifische Identifikation des erweiterten Attributs.

Ich habe dies als Root-Benutzer versucht. Ich gehe davon aus, dass der Root-Benutzer mit allen Funktionen auf diese Informationen zugreifen kann. Sie erhalten aber nur den User. * Namespace-Dump.

Die Frage ist, wie ich auf einfache Weise einen vollständigen Speicherauszug aller erweiterten Attributnamespaces einer Datei erhalten kann, ohne die Namen aller Schlüssel in allen Namespaces zu kennen.

mdpc
quelle
und "lsattr" reicht nicht aus? (Siehe "man chattr", um die lange Attribut-Zeichenfolge zu entschlüsseln)
Theophrastus

Antworten:

12

Ich hasse es, das zu tun, aber die Antwort lautet (nach mehr Recherche):

 getfattr -d -m - file

Das habe ich anscheinend beim Lesen der Manpage verpasst :

-m Muster , --match = Muster

   Schließen Sie nur Attribute mit Namen ein, die dem Muster des regulären Ausdrucks entsprechen . [...] Geben Sie "-" an, um alle Attribute einzuschließen.

mdpc
quelle
Ich habe dafür verwendet getfattr -d -m '' file, ich war mir nicht bewusst -, dass es sich um einen Sonderfall handelt, aber es sieht so aus, als ob es seit dem Hinzufügen der Funktion (ursprünglich als -rOption) so war. Eine Schande. Man muss nach -m '[-]'Attributen suchen, die enthalten -.
Stéphane Chazelas