изменить разрешение только для файлов - PullRequest
0 голосов
/ 28 апреля 2020

Допустим, у меня есть несколько каталогов, которые содержат несколько файлов, для которых требуется разрешение на выполнение. Я попытался с помощью следующего yaml, он изменяет разрешение всех файлов на 744, но он также изменил папку files и bin на 744. Любой способ сделать это так, что он будет вносить изменения только в файлы, но не каталог?

- name: chmod
  ignore_errors: yes
  file: 
    path: '{{ item.path }}'
    state: '{{ item.state }}'
    owner: '{{ item.owner }}' 
    group: '{{ item.group }}'
    recurse: '{{ item.recurse }}'
    mode: '{{ item.mode }}'
  with_items:
    - { path: '/opt/files', state: directory, owner: dummy, group: dummy, recurse: true, mode: 744 }
    - { path: '/opt/bin', state: directory, owner: dummy, group: dummy, recurse: true, mode: 744 }

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете написать что-то вроде ниже. Не выполнил код, хотя может потребоваться небольшая настройка.

- name: Find files
  find:
    paths:
      - /opt/files
      - /opt/bin
    recurse: yes
  register: file_list

- name: chmod
  ignore_errors: yes
  file: 
    path: '{{ item.path }}'
    owner: 'dummy' 
    group: 'dummy'
    mode: '744'
  with_items:
    - “{{ file_list.files }}”
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...