J'ai besoin de trouver tous les fichiers d'un répertoire dont le groupe et les autres permissions correspondent (par exemple, ceux dont l'appartenance au groupe du fichier n'affecte pas réellement l'accès).
Puisqu'il n'y a que 8 possibilités pour cela (x00, x11, x22, etc.), je pensais pouvoir effectuer une recherche sur ces permissions mais je ne trouve pas de moyen de faire correspondre explicitement certains bits de permission sans les faire correspondre tous (par exemple, faire correspondre tous les 000, 100, 200, 300, etc. pour x00).
J'ai construit une longue déclaration de recherche comme :
find . \( \ -perm 000 -o -perm 011 -o -perm 022 -o -perm 033 [...] \ -perm 100 -o -perm 111 -o -perm 122 -o -perm 133 [...] \ [...] \) -ls
Et ça marche mais ça semble très inélégant (il y a plus de 8 caractères...et c'est avant que j'ai mis toutes les clauses de sélection de chemin qui seront nécessaires...).
Y a-t-il un meilleur moyen ?
Edit : je viens de me rendre compte que cela ignore les permissions SUID/SGID. Si on les ajoute, la commande sera encore plus longue... j'espère qu'il y a une meilleure solution !