GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configuro permisos recursivamente en un directorio (con ACL habilitado)?

setfacl tiene un recursivo opción (-R ) como chmod :

  -R, --recursive
      Apply operations to all files and directories recursively. This
      option cannot be mixed with `--restore'.

también permite el uso de la x mayúscula X permiso, lo que significa:

  execute only if the file is a directory or already has
  execute permission for some user (X)

así que hacer lo siguiente debería funcionar:

setfacl -R -m u:colleague:rwX .

(todas las citas son de man setfacl para acl-2.2.52 como se envía con Debian)


Como menciona umläute, el comando setfacl -R con "X" mayúscula es el camino a seguir, como:

setfacl -R -m u:colleague:rwX .

Sin embargo, para aquellos que necesitan volver a aplicar ACL de forma recrusiva (es decir, como "volver a aplicar permisos en subdirectorios" a la Windows).

find . -mindepth 1 | xargs -n 50 setfacl -b --set-file=<(getfacl . | sed -e 's/x$/X/')

Ese comando podría dividirse para evitar errores como setfacl: foobar: Only directories can have default ACLs .

find . -mindepth 1 -type d| xargs -n 50 setfacl -b --set-file=<(getfacl . | sed -e 's/x$/X/')
find . -mindepth 1 -type f| xargs -n 50 setfacl -b --set-file=<(getfacl . | grep -v '^default:' | sed -e 's/x$/X/')

Tenga en cuenta que la sintaxis <( something ) es Sustitución de procesos , que es específico de bash. Es posible que deba crear un archivo temporal si usa otro shell.


Linux
  1. Cómo usar Ansible para configurar el monitoreo del sistema con Prometheus

  2. Cómo auditar permisos con el comando de búsqueda

  3. ¿Cómo configurar Bash para ejecutar *.exe con Mono?

  4. ¿Operación no compatible con Setfacl?

  5. ¿Cómo reenviar ssh con AllowTcpForwarding establecido en no?

Cómo copiar archivos con una extensión de archivo específica recursivamente

Cómo configurar un cortafuegos con GUFW en Linux

Cómo configurar un servidor Seafile con Nginx en Ubuntu 18.04

Cómo configurar un servidor FTP con ProFTPD en Ubuntu 18.04

Cómo configurar un servidor de correo con Modoboa en Ubuntu 20.04

Cómo instalar y configurar WordPress con Ansible