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?

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'

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).


0

Version Perl:

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

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 .
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.