仅更改文件权限

时间:2020-04-28 10:01:12

标签: ansible

比方说,我有多个目录,其中包含需要可执行权限的多个文件。我尝试使用以下yaml,它将确实将所有文件的权限更改为744,但同时也将文件夹filesbin更改为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 :(得分:0)

您可以编写如下内容。尽管尚未执行代码,所以可能需要一些调整。

- 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 }}”
相关问题