GNU/Linux >> Tutoriales Linux >  >> Linux

Dar permiso de ejecución a los directorios pero no a los archivos

Para otorgar permiso de ejecución (búsqueda) a directorios, pero no a archivos, use:

chmod -R +X .

Para asignar todos los permisos como en su ejemplo, use:

chmod -R u=rwX,g=rX,o= .

-R cambia archivos y directorios recursivamente, mientras que +X establece ejecutar/buscar solo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuario. r y w son, por supuesto, para leer y escribir, respectivamente.

Modo X (superior x ) está documentado tanto en la página del manual tradicional como en la documentación de información.

También debería funcionar en otros sistemas similares a Unix, p. FreeBSD, NetBSD o OpenBSD. Cita de la página del comando man chmod(1) de The Open Group Base Specifications, número 7, edición de 2018:

La X El símbolo permanente se adoptó de los sistemas basados ​​en BSD porque proporciona la funcionalidad comúnmente deseada cuando se hace recursivamente (-R opción) modificaciones. find no proporciona una funcionalidad similar utilidad. Versiones BSD históricas de chmod , sin embargo, solo admitía X con op +; se ha ampliado en este volumen de POSIX.1-2017 porque también es útil con op =. (También se ha agregado para op - aunque duplique x , en este caso, porque es intuitivo y más fácil de explicar.)

man 1 chmod
info '(coreutils)Conditional Executability'


Si desea hacerlo de forma recursiva, es decir, , a directorios dentro de directorios dentro de directorios, el comando a usar es:

 find /path/to/starting/directory -type d -exec chmod +x {} \;

Esto ubica todos y solo los subdirectorios (-type d flag) del directorio /path/to/starting/directory, y luego realiza el cambio requerido de permiso de ejecución para cada uno de ellos. El espacio antes de \; es obligatorio.


Linux
  1. Copiar archivos y directorios en Linux

  2. Facl ignorando el permiso "x" pero solo en archivos?

  3. ¿Encontrar archivos o directorios más grandes?

  4. Encuentra los archivos existentes en un directorio pero no en el otro

  5. Linux:Establecer permiso solo para directorios

Cómo cambiar los permisos de archivos de forma recursiva con chmod en Linux

Cómo cambiar los permisos de archivos y directorios

¿Hacer la instalación, pero no en los directorios predeterminados?

Eliminar solo archivos en el directorio en linux NO directorios

Use el comando de búsqueda pero excluya archivos en dos directorios

bash:elimina todos los directorios (y contenidos) pero no los archivos en pwd