¿Cómo escaneo usando find para todos los archivos que tienen un conjunto de bits de ejecución?

19

Quiero escribir un script de corrección de permisos que use find para corregir permisos en archivos.

Principalmente, lo que necesito es un comando de búsqueda que pueda enumerar todos los archivos con el conjunto de bits de ejecución, independientemente de los otros permisos en el archivo (ese es el truco).

Sorin
fuente
2
¿Qué has probado ya? ¿Qué investigación has hecho? Como está escrito en este momento, solo nos está pidiendo que hagamos su trabajo por usted, y no ha mostrado ningún esfuerzo para resolverlo usted mismo.
EEAA
Además, recomiendo leer qué tipo de preguntas son apropiadas aquí antes de publicar más preguntas. Tiene una serie de preguntas cerradas y rechazadas, y si no tiene cuidado, probablemente se encontrará con la prohibición automática de preguntas.
EEAA
@ EEAA: Lamentablemente, dudo que eso esté cerca de suceder. Si tienes algún representante, es realmente difícil que te expulsen.
@Iain - bastante justo. Sin embargo, con suerte seguirá prestando atención al consejo.
EEAA
2
@EEAA: Eso espero, pero las personas que no pueden molestarse en leer los manuales generalmente no prestan atención a los consejos, simplemente les resulta más fácil quejarse sobre nuestra actitud ...iyswim;)

Respuestas:

24

En el hallazgo de GNU:

find /dir -type f -executable

En otras versiones, vea la página del manual -perm.

Sven
fuente
11

Lo creas o no, esto está ampliamente documentado en la página del manual de búsqueda . En los sistemas CentOS y Ubuntu que tengo a mano, incluso hay ejemplos de esto.

-perma / modo

Cualquiera de los modos de bits de permiso está configurado para el archivo. Los modos simbólicos se aceptan de esta forma. Debe especificar u',g 'u' o 'si usa un modo simbólico. Vea la sección de EJEMPLOS para algunos ejemplos ilustrativos. Si no se establecen bits de permiso en modo, esta prueba coincide con cualquier archivo (la idea aquí es ser coherente con el comportamiento de -perm -000).

Entonces

find  . -perm /u+x

encontrará archivos donde se establece el permiso de ejecución para el propietario

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

encontrará archivos donde se establece el permiso de ejecución para el propietario y otros, etc.


fuente
1

find / path / of / the / directory -type f -executable

usuario101302
fuente
@ ¿Podría explicar cómo funcionaría eso?
vfbsilva
Investigó esto: man7.org/linux/man-pages/man1/find.1.html - el indicador -executable: coincide con los archivos que son ejecutables y los directorios que se pueden buscar (en un sentido de resolución de nombre de archivo).
RayJ