Я не впевнений, який сенс було б встановлювати каталоги на 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 . Сподіваюся, це має сенс.