一、Ansible描述文件模块
files模块库的引入
- 模块库:根据文档中的功能以及系统上的安装时间进行分组后的模块的集合
- Files模块库包含的模块允许您完成与Linux文件管理相关的大多数任务,如创建、复制、编辑和修改文件的权限和其他属性。
- 下表提供了常用文件管理模块的列表:
- 注:使用最频繁的还是file和copy模块
常见用法示例
1、确保受管主机上存在文件
- 使用模块:
file
- 常用参数说明:
path
:必须参数,用于指定要操作的文件或目录owner
:确保文件拥有属主group
:确保文件拥有属组mode
:权限设定state: touch
:文件不存在则创建,文件存在则刷新修改时间ctime
- name: Touch a file and set permissions
file:
path: /path/to/file
owner: user1
mode: 0640
state: touch
2、确保文件具有正确的权限和SELinux类型
- 使用模块:
file
- 参数说明:
path
:必须参数,用于指定要操作的文件或目录setype
:指定目标的SELinux类型
- name: Selinux type is set to samba_share_t
file:
path: /apth/to/samba_file
setype: samba_share_t
-
使SElinux文件上下文更改具有持久性
-
使用模块:System模块集中的sefcontext模块
-
参数说明:
-
target
:指定目标目录 -
setype
:指定目标的SELinux类型 -
state
:present代表增加目录的安全性本文;absent代表删除目录的安全性本文
-
- name: SELinux type is persistently set to samba_share_t