Я не уверен, какой смысл в том, чтобы устанавливать для каталогов значение 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 . Я надеюсь, что это имеет смысл.