查询Ansible selinux模块底层执行命令及所需sudo规则
Ansible selinux模块底层执行命令解析(RHEL 9环境)
场景说明
你提供的Playbook通过become: true提权,调用ansible.posix.selinux模块完成以下操作:将SELinux设置为permissive模式,使用targeted策略,运行环境为RHEL 9 + Python3.12。
底层执行的具体操作
临时生效命令
模块会执行提权后的/usr/sbin/setenforce 0,用于立即将SELinux切换到permissive模式(注意:RHEL 9中setenforce的路径是/usr/sbin,而非/bin)。永久生效配置
模块会直接修改/etc/selinux/config文件:- 将
SELINUX字段设置为permissive - 将
SELINUXTYPE字段设置为targeted
(注:模块通过Python代码直接编辑文件,而非调用sed等外部命令,但最终效果等价于手动修改配置文件)
- 将
补充说明
- 模块会先检查当前SELinux状态,若已匹配目标配置则不会执行任何操作,避免重复执行命令。
- 服务账号需要的sudo规则需允许执行
/usr/sbin/setenforce以及修改/etc/selinux/config的权限。
内容的提问来源于stack exchange,提问作者Anders Jansson
相关产品推荐
相关产品推荐

