GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:Establecer permiso solo para directorios

chmod en realidad puede hacer esto por sí mismo; el X permiso simbólico significa "ejecutar, si tiene sentido", lo que generalmente significa en directorios pero no en archivos. Entonces, puedes usar:

chmod -R u=rwX,go=rX /path/to/htdocs

El único problema potencial es que si alguno de los archivos sin formato ya tiene un conjunto de ejecución, chmod asume que es intencional y lo mantiene. Si se trata de un problema potencial y tienes la versión GNU de chmod (es decir, está en Linux), puede hacer que elimine cualquier permiso de ejecución perdido como este:

chmod -R a-x,u=rwX,go=rX /path/to/htdocs

Lamentablemente, este truco no funciona con la versión bsd (/macOS) de chmod (No estoy seguro acerca de otras versiones). Esto se debe a que la versión bsd aplica el X permiso basado en "el modo original (sin modificar)", es decir, si tenía bits de ejecución antes el a-x se realizó la modificación (ver el man página).


Usa find para buscar directorios y aplicar chmod en ellos:

find -type d | xargs chmod 775

Utilice el tipo f para archivo:

find -type f | xargs chmod 775

Usa el -type de find Opción para limitar acciones a archivos y directorios. Usa el -o opción para especificar acciones alternativas para diferentes tipos, por lo que solo tiene que ejecutar find una vez, en lugar de por separado para cada tipo.

find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +

Linux
  1. Ejemplos de comandos básicos "chmod" en Linux

  2. Una guía para el comando "Buscar" de Linux

  3. ¿Cómo recorrer directorios en Linux?

  4. Eliminar solo archivos en el directorio en linux NO directorios

  5. ¿Cómo puedo hacer un chmod recursivo solo en directorios?

Buscar comando en Linux (Buscar archivos y directorios)

Restaurar permiso ejecutable al comando Chmod en Linux

3 formas de encontrar archivos y directorios en Linux

Cómo encontrar y eliminar directorios vacíos en Linux

Encuentre archivos y directorios en Linux fácilmente

Cómo enumerar solo directorios en Linux