Comment numériser en utilisant find pour tous les fichiers qui ont un bit d'exécution exécuté?


19

Je veux écrire un script de correction d'autorisation qui utilise find pour corriger les autorisations sur les fichiers.

Principalement ce dont j'ai besoin est une commande find qui est capable de lister tous les fichiers avec un ensemble de bits d'exécution, quelles que soient les autres autorisations sur le fichier (c'est l'astuce).


2
Qu'avez-vous déjà essayé? Quelles recherches avez-vous faites? Comme écrit en ce moment, vous nous demandez simplement de faire votre travail pour vous, et vous n'avez fait aucun effort pour résoudre ce problème vous-même.
EEAA

De plus, je vous recommande fortement de lire quels types de questions conviennent ici avant de poster d'autres questions. Vous avez toute une série de questions fermées et votées, et si vous ne faites pas attention, vous vous heurterez probablement à l'interdiction automatique des questions.
EEAA

@EEAA: Malheureusement, je doute que ce soit proche de se produire. Si vous avez un représentant, il est vraiment difficile d'obtenir l'interdiction de q.

@Iain - assez juste. J'espère qu'il tiendra toujours compte de ces conseils.
EEAA

2
@EEAA: J'espère aussi, mais les gens qui ne peuvent pas être gênés de lire les manuels ne tiennent généralement pas compte des conseils - ils trouvent simplement plus facile de se plaindre de notre attitude ...iyswim;)

Réponses:


24

Sur la découverte de GNU:

find /dir -type f -executable

Sur les autres versions, consultez la page de manuel autour -perm.


11

Croyez-le ou non, cela est largement documenté dans la page de manuel find . Sur les systèmes CentOS et Ubuntu, je dois en donner des exemples.

-perm / mode

N'importe quel mode de bits d'autorisation est défini pour le fichier. Les modes symboliques sont acceptés sous cette forme. Vous devez spécifier u',g 'ou `o' si vous utilisez un mode symbolique. Voir la section EXEMPLES pour quelques exemples illustratifs. Si aucun bit d'autorisation en mode n'est défini, ce test correspond à n'importe quel fichier (l'idée ici est d'être cohérent avec le comportement de -perm -000).

Donc

find  . -perm /u+x

trouvera les fichiers où l'autorisation d'exécution est définie pour le propriétaire

find . -perm /u+x,o+x

recherchera les fichiers où l'autorisation d'exécution est définie pour le propriétaire et les autres, etc.


1

trouver / chemin / de / le répertoire / type-f exécutable


@Pouvez-vous expliquer comment cela fonctionnerait?
vfbsilva

A recherché ceci: man7.org/linux/man-pages/man1/find.1.html - l'indicateur -executable: Correspond aux fichiers qui sont exécutables et aux répertoires qui peuvent être recherchés (dans un sens de résolution de nom de fichier).
RayJ
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.