Я не уверен, какой смысл в том, чтобы устанавливать каталоги на 0775 (rwxrwxr-x
) и файлы на 0644 (rw-r--r--
): каталоги с возможностью записи в группы, но не файлы?
Если вы намеревались установить для файлов значение 0664 (rw-rw-r--
), чтобы гарантировать, что файлы не будут выполняться, пока каталоги можно просматривать, есть элегантное решение, включающее только одну команду chmod
:
chmod -c -R ug=rw,o=r,a-x+X "{{top_dir}}"
Вот как это можно использовать в 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
печатает все изменения, которые мы можем удобно использовать для заполнения "измененного" статуса в Ansible. Я надеюсь, что это имеет смысл.