community.general.sefcontext 模块 – 管理 SELinux 文件上下文映射定义
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您正在使用 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此模块,请参阅 需求 获取详细信息。
要在 playbook 中使用它,请指定: community.general.sefcontext
。
概要
管理 SELinux 文件上下文映射定义。
类似于
semanage fcontext
命令。
需求
执行此模块的主机需要以下需求。
libselinux-python
policycoreutils-python
参数
参数 |
注释 |
---|---|
应应用 SELinux 上下文的文 件类型。 以下文件类型选项可用
选项
|
|
适用于无法获取真实 SELinux 状态的场景(chroot 环境)。 选项
|
|
提交后重新加载 SELinux 策略。 请注意,这不会将 SELinux 文件上下文应用于现有文件。 选项
|
|
为指定的 对于新的文件上下文,默认为 |
|
为指定的 |
|
为指定的 对于新的文件上下文,默认为 |
|
SELinux 文件上下文必须为 不指定 选项
|
|
目标路径(表达式)。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全支持 |
可以在 |
|
支持: 完全支持 |
在差异模式下,将返回关于已更改内容(或可能需要在 |
|
平台: Linux |
可以对其进行操作的目标操作系统/系列。 |
备注
注意
这些更改在重新启动后仍然有效。
setype
和substitute
互斥。如果
state=present
,则必须指定setype
或substitute
之一。community.general.sefcontext模块不会修改现有文件以适应新的SELinux上下文,因此建议先创建SELinux文件上下文,然后再创建文件,或者手动为需要新SELinux文件上下文的现有文件运行
restorecon
。不将SELinux fcontext应用于现有文件是一个经过深思熟虑的决定,因为它不清楚报告的更改会带来什么后果,而且不能保证应用SELinux fcontext不会拾取其他无关的先前更改。
示例
- name: Allow apache to modify files in /srv/git_repos
community.general.sefcontext:
target: '/srv/git_repos(/.*)?'
setype: httpd_sys_rw_content_t
state: present
- name: Substitute file contexts for path /srv/containers with /var/lib/containers
community.general.sefcontext:
target: /srv/containers
substitute: /var/lib/containers
state: present
- name: Delete file context path substitution for /srv/containers
community.general.sefcontext:
target: /srv/containers
substitute: /var/lib/containers
state: absent
- name: Delete any file context mappings for path /srv/git
community.general.sefcontext:
target: /srv/git
state: absent
- name: Apply new SELinux file context to filesystem
ansible.builtin.command: restorecon -irv /srv/git_repos