Não tenho certeza de quanto sentido definir diretórios para 0775 ( rwxrwxr-x
) e arquivos para 0644 ( rw-r--r--
): diretórios graváveis em grupo, mas não arquivos?
Se você pretendia definir arquivos como 0664 ( rw-rw-r--
) para garantir que os arquivos não sejam executáveis enquanto os diretórios podem ser percorridos, existe uma solução elegante envolvendo apenas um chmod
comando:
chmod -c -R ug=rw,o=r,a-x+X "{{top_dir}}"
Aqui está como ele pode ser usado no Ansible :
- name: recursive chmod example
command: |
chmod -c -R ug=rw,o=r,a-x+X "{{item}}"
register: chmod_status
changed_when: chmod_status.stdout != ""
with_items:
- "/home/user/sample/dir"
chmod -c
imprime todas as alterações que podemos usar convenientemente para preencher o status "alterado" no Ansible . Espero que faça sentido.