ansible playbook来检查Selinux状态的情况。

问题描述 投票:0回答:1

我正在使用下面的剧本来检查SELinux状态。我想进一步做的是,如果状态没有被禁用,在同一个剧本中,我需要做出禁用SELinux状态的改变。

   tasks:
     - name: To check SELinux status
       shell: getenforce
       register: result


     - set_fact: selinux_status_output="{{ result.stdout }}"

     - debug: var=selinux_status_output
ansible ansible-2.x
1个回答
4
投票

你可以使用selinux模块

- name: Disable SELinux
  selinux:
    state: disabled

请看。selinux模块

编辑。你不需要检查状态是否被禁用。Ansible会检查selinux的状态,只有当它没有被禁用时,它才会尝试改变状态。

你可能想检查声明式和命令式模型的区别。

  1. 声明式与命令式。自动化部署应用程序的两种建模模式。
  2. 配置管理的声明式与执行式模型。哪种模式真的更好?

2
投票

我还不能评论,但正如 Yabberth 所说,你可以直接使用 selinux 模块。当你运行这个游戏的时候,只有系统在变化的状态下才不会被设置为禁用。如果状态已经被禁用,ansible将不去管它,而是继续下一个任务。

如果你使用 shell 模块先进行检查,你总是能看到变化的状态,因为它将其注册到作业流中。如果你先运行检查检查,然后再更改,考虑到你的 selinux 模块将做你所要求的IMO。

© www.soinside.com 2019 - 2024. All rights reserved.