En ansible, puedo hacer esto:
file: dest=/foo/bar/somedir owner=root group=apache mode=0775 recurse=yes
Y establece recursivamente el propietario, el grupo y los permisos en 0775 en todos los directorios y archivos en esa ruta. Pero quiero establecer directorios en 0775 y archivos en 0664. ¿Hay alguna forma de hacer que ansible haga esto?
                    
                        file-permissions
                                ansible
                                
                    
                    
                        Edward Ned Harvey
fuente
                
                fuente

Respuestas:
establecerá directorios en 755 y archivos en 644.
fuente
Xesxpara directorios, y nada para archivos. Y así es comochmod, noansibletrata la cadena de modo. DesearíaSser tratado de la misma manera.Fuente: https://stackoverflow.com/a/28782805/1306186
fuente
recurseopción pero no la otra.Si desea utilizar el archivo del módulo en ansible, puede:
Con este método, primero establece todo el archivo (recurse = yes) en '644' y luego establece / foo / bar / somedir en '775'.
Esto no es perfecto porque cambiará el permiso de tu directorio cada vez que juegues tu libro de jugadas. Pero al menos es idempotente, no como el comando del módulo.
Si no desea que el estado 'haya cambiado', puede usar la estadística del módulo. Enumerará todos los archivos y el directorio en / foo / bar / somedir para que registre la respuesta y luego haga un bucle solo en esos archivos.
fuente
No estoy seguro de qué sentido tendría establecer directorios en 0775 (
rwxrwxr-x) y archivos en 0644 (rw-r--r--): directorios de escritura grupal pero no archivos.Si desea establecer archivos en 0664 (
rw-rw-r--) para asegurarse de que los archivos no sean ejecutables mientras los directorios son transitables, entonces hay una solución elegante que involucra solo unchmodcomando:Así es como se puede usar en Ansible :
chmod -cimprime todos los cambios que podemos usar convenientemente para completar el estado "modificado" en Ansible . Espero que tenga sentido.fuente
Para cambiar solo las modificaciones cuando sea necesario:
fuente