【連載01】205.SELinuxを無効化する【Ansible SELinuxモジュール】


当記事はケーススタディの連載となっています。目次は【こちら】です。
最新のソースコードは【GitHub】で公開中です。
サーバの責務はこちらで確認ください。

1.SELinux無効化概要

SELinuxを無効化する。

2.playbookファイルの相関

3.playbook(site.yml)

${ANSIBLE_HOME}/site.yml
メインとなるplaybook(site.yml)参照

4.SELinux無効化用のplaybook(/operations/0021_selinux.yml)

${ANSIBLE_HOME}/operations/0021_selinux.yml

# ===================
# SELinuxを無効化する(selinux.yml)
# ===================
# ===================
# すべてのサーバのSELinuxを無効化する
# ===================
- hosts: all
  sudo: no
  remote_user: root
  tasks:

    - name: SELinuxのDisable設定
      selinux: state=disabled
【SELinuxモジュール】SELinuxの無効化設定

selinuxモジュールを使用する。

書式:

selinux: state=${enforcing または permissive またはdisabled}

state 状態
enforcing アクセス制限有効
permissive 警告はするがアクセス制限はしない
disabled 無効化する

例:
SELinuxを無効化する。

selinux: state=disabled

disable設定はLinux上でsetenforceコマンドでラベル付けはできない。
Ansibleも同様に起動時に無効化設定されるため、次の章ではAnsibleにて再起動する。

※Ansible(Python)でSELinuxの操作をするにはlibselinux-pythonパッケージが必要。
今回は「yumにて必要なライブラリ/ミドル/ソフトウェアをインストールする」にて先にインストールしているが、本来であればincludeしたファイル単位で冪等性を維持しつつ、凝縮度の高いplaybookを作った方が独立性が高くなる。
その場合先にyumモジュールを使用してlibselinux-pythonをインストールしておくとよい。

  tasks:
#▼ここに追加
    - name: Install libselinux-python
      yum: name=libselinux-python state=present
#▲

    - name: SELinuxのDisable設定
      selinux: state=disabled

次回は「SELinux設定Diabledを適用する為サーバを再起動する【Ansible 非同期処理】」について。

連載の目次は【こちら】です。