Ansible-Modo 755 para directorios y 644 para archivos recursivamente
Me gustaría permitir que cualquiera enumere y lea todos los archivos en mi árbol de directorios, pero no quiero hacer que los archivos sean ejecutables :
dir
\subdir1
file1
\subdir2
file2
...
\subdirX
fileX
La siguiente tarea hace que mis directorios y archivos sean legibles, pero también hace que todos los archivos sean ejecutables:
- name: Make my directory tree readable
file:
path: dir
mode: 0755
recurse: yes
Por otro lado, si elijo el modo 0644, entonces todos mis archivos no son ejecutables, pero no puedo listar mis directorios.
¿Es posible establecer el modo 755 para todos los directorios y 644 para todos los archivos de un directorio árbol?
Gracias.
2 answers
Desde la versión 1.8, Ansible soporta modos simbólicos. Por lo tanto, lo siguiente realizaría la tarea que desea:
- name: Make my directory tree readable
file:
path: dir
mode: u=rwX,g=rX,o=rX
recurse: yes
Porque X (en lugar de x) solo se aplica a directorios o archivos con al menos un bit x establecido.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-22 09:52:21
Los módulos Ansible file/copy no le dan la granularidad de especificar permisos basados en el tipo de archivo, por lo que lo más probable es que necesite hacer esto manualmente haciendo algo en estas líneas:
- name: Ensure directories are 0755
command: find {{ path }} -type d -exec chmod -c 0755 {} \;
register: chmod_result
changed_when: "chmod_result.stdout != \"\""
- name: Ensure files are 0644
command: find {{ path }} -type f -exec chmod -c 0644 {} \;
register: chmod_result
changed_when: "chmod_result.stdout != \"\""
Estos tendrían el efecto de recurrir a {{ path }}
y cambiar los permisos de cada archivo o directorio a los permisos especificados.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-26 17:04:22