ansible - 仅更改文件的权限
问题描述
假设我有多个目录,其中包含多个需要可执行权限的文件。我尝试使用以下 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 }
解决方案
您可以编写如下所示的内容。尽管可能需要进行一些调整,但尚未执行代码。
- 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 }}”
推荐阅读
- python - 如何将字符串分配给 IntelHex 值?
- python-3.x - pyspark中的内部反连接
- python - 如何计算字符串出现在 Python 中的字典值中的次数?
- contenteditable - 如何在 Chrome 中将日文文本设为斜体?
- java - Android 上的 HTML5 可访问 SQLite 数据库
- c# - 实现接受键类型参数的委托字典
- reactjs - 使用 redux 和 redux-saga 作为中间件,架构(文件夹结构)企业级 React Web 应用程序的最佳实践是什么?
- web-scraping - 这段代码如何正确抓取但不保存任何 csv 或 excel 文件?
- html - 输入\注册链接显示不正确
- php - 在 Laravel 中记录活动