¿Cómo se consigue setfacl para establecer permisos ACL recursivamente en Linux?


20

Estoy configurando un nuevo servidor y quería darle a ACL una oportunidad sobre los permisos de estilo chown: chgrp: chmod.

La página de manual de setfacl indica que la opción '-R' se puede usar para configurar la ACL de forma recursiva en archivos y directorios.

-R, --recursive Aplica operaciones a todos los archivos y directorios de forma recursiva. Esta opción no se puede mezclar con '--restore'.

Si mi diseño de directorio se ve así

test/
   subtest/
   subtest.txt

y ejecuto

setfacl -Rm d:u:foo:rwX test

La ACL tiene efecto en el directorio 'subtest', pero no en el archivo subtest.txt.

Creo que puedo usar find + exec para solucionarlo, pero planeo usar este servidor para entrenar a algunos otros administradores y quiero mantenerlo lo más simple posible para que no nos obsesionemos con algunos de los más avanzados convenciones

Gracias

Respuestas:


43

Tratar:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

para modificar la ACL actual y la predeterminada. Creo que "d:" solo afecta la (d) ACL predeterminada de los directorios y deja los archivos intactos. Luego, si crea un nuevo archivo en el directorio, hereda la ACL de su directorio principal a través del valor predeterminado.


Eso tiene sentido incluso si se siente un poco redundante
Joe Holloway

1
¿Funciona esto también para eliminar el control de acceso? Quizás algo en el sentido de: sudo setfacl -Rx g: gid path

¿Por qué cambiar de lugar entre las banderas -Ry -mrompe el comando?
pkaramol

@pkaramol: Debido a que la -mopción toma un argumento (la especificación de ACL u:foo:rwX,d:u:foo:rwXen este caso) y cambiar el orden de las opciones separa la opción de su argumento. También puede ser que setfaclesté codificado para esperar sus opciones principales primero.
Pausado hasta nuevo aviso.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.