rechercher des fichiers avec des listes de contrôle d'accès

15

Comment puis-je trouver tous les fichiers avec certains ACL étendus, c'est-à-dire ceux avec un peu +à la fin des drapeaux d'autorisation indiqués par ls -l.

Je n'ai pas pu trouver de drapeau correspondant pour find. Mon approche naïve serait findcombinée avec ls -let a grep. Mais je ne pense pas que ce soit bien.

Quelqu'un a-t-il une idée?

Speckinius Flecksis
la source

Réponses:

14

getfaclpeut vider les ACL récursivement, et il a une --skip-baseoption pour ignorer les fichiers sans ACL.

getfacl -R -s -p /directory | sed -n 's/^# file: //p'
user1686
la source
0

J'ai trouvé cela googler le contraire; pour rechercher des fichiers sans liste de contrôle d'accès. C'est ce que je me suis retrouvé (au cas où un autre googleur le trouverait)

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

Apparemment, ls -Rc'est plus rapide que find (j'ai un fichier kagillion et chaque commande find me prend 2 heures).

matiu
la source
0

Version Perl:

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

-R: Liste les ACL de tous les fichiers et répertoires de manière récursive.

-s: Ignorer les fichiers qui ne contiennent que les entrées ACL de base (propriétaire, groupe, autres).

getfacl -Rs .
getfacl --recursive --skip-base .
Aile d'acier
la source