Dateien mit festgelegten ACLs suchen


15

Wie kann ich alle Dateien finden, für die einige erweiterte ACLs festgelegt wurden, dh Dateien mit einer kleinen Markierung +am Ende der Berechtigungsmarkierungen, die von angezeigt werden ls -l?

Ich konnte keine entsprechende Flagge für finden find. Meine naive Herangehensweise wäre eine findKombination mit ls -lund eine grep. Aber ich finde das nicht schön.

Hat jemand eine Idee?

Antworten:


14

getfaclkann ACLs rekursiv sichern, und es gibt eine --skip-baseOption zum Ignorieren von Dateien ohne ACLs.

getfacl -R -s -p /directory | sed -n 's/^# file: //p'

0

Ich fand das gegenteil googeln; um Dateien zu finden, für die keine ACLs festgelegt wurden. Dies ist, was ich am Ende (für den Fall, dass es ein anderer Googler findet)

ls --color=auto -lR | grep -v "\+ " | grep -v "^[.,a-z,1-9]" | grep -v "^$"

Anscheinend ls -Rist es schneller als find (ich habe kagillion Dateien und jeder find Befehl dauert 2 Stunden).


0

Perl-Version:

getfacl -R -p -s  / | perl -wn -e ' if (/^# file/) { s|^# file: /||; print; }'

0

-R: Listen Sie die ACLs aller Dateien und Verzeichnisse rekursiv auf.

-s: Überspringen Sie Dateien, die nur die Basis-ACL-Einträge enthalten (Eigentümer, Gruppe, andere).

getfacl -Rs .
getfacl --recursive --skip-base .
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.