2010-12-07 26 views
60

Je veux trouver les fichiers non lisibles dans mon répertoire (par exemple les fichiers avec g-r). J'ai donc essayé ceci:Utiliser `find -perm` pour trouver quand une permission n'est pas définie

find . -perm -g-r

Il me montre tous les fichiers ?? J'ai donc essayé ceci:

find . -perm -g+r

Et il m'a montré que les fichiers lisibles. Il semble que -perm -g-r correspond à tous les fichiers. J'utilise CentOS 5.5. Est-ce que je fais quelque chose de mal? Il ne semble pas que -perm -g-r fasse quoi que ce soit d'utile.

Répondre

83

Essayez:

find . ! -perm -g+r

+3

Cela a fonctionné! Je suis toujours mystifié par '-perm -g-r' ne fonctionne pas, mais bon. – User1

+0

C'est une extension évidente pour trouver des fichiers qui ne sont pas exécutables, aussi. Merci! –

+0

Et si je veux limiter ma recherche aux fichiers et non aux répertoires, et que je veux un '-maxdepth' de 2? Je veux dire, comment puis-je nier les perms tout en affirmant les autres choses? EDIT: Nevermind. Vous pouvez annuler n'importe quelle option avec! Cela ne semblait pas fonctionner au début, mais c'était vraiment le cas. J'ai fait 'find -maxdepth 2! -perm -g + r -type d' et répertoires trouvés à une profondeur de 2 qui n'ont pas l'autorisation de lecture de groupe. –

21

Si vous voulez trouver des fichiers qui ne sont pas lisibles par vous, vous pouvez utiliser

find . ! -readable 
+6

Cela fonctionne pour Linux, mais la découverte BSD sur le Mac (à partir de 2008) ne le supporte pas. –

+0

Bon point. Il y a probablement quelques versions de trouver là-bas qui ne supportent pas -readable. – Charley

-3

Vous avez pu voir tous les fichiers lorsque vous avez exécuté l'instruction ci-dessous, car vous l'exécutiez en tant que root.

find . -perm -g-r 

Essayez d'exécuter en tant qu'utilisateur normal.

+7

Les attributs de fichier (autorisations, propriété, taille, etc.) ne dépendent pas de l'utilisateur. Je crois que ta réponse est fausse. –

+0

En outre, OP a demandé comment trouver des bits * not * set, ce que la réponse de Tim Cooper fait et le vôtre manque. –