selinux

ansible-selinux-role

Позволяет настраивать SELinux.

Опции конфигурации:

  • policy (политика)
  • state (состояние)
  • booleans (булевы значения)
  • ports (порты)
  • fcontexts (контексты файлов)

Требования

Тестировалось только на RHEL 7 и CentOS 7.

Ansible 2.0 или выше.

Переменные роли

Не обязательно использовать все блоки переменных, вы можете использовать только те опции конфигурации, которые вам действительно нужны.

Следующие переменные используются для настройки политики и состояния SELinux:

    selinux_config: (опционально, по умолчанию: /etc/selinux/config)
    selinux_policy: (опционально, по умолчанию: targeted)
    selinux_state:  (опционально, только значения: enforcing|permissive|disabled, по умолчанию: enforcing)

Следующие переменные используются для переключения булевых значений SELinux:

    selinux_boolean: 
      name_of_selinux_boolean:
        state: (опционально, только значения: yes|no, по умолчанию: yes)
        persistent: (опционально, только значения: yes|no, по умолчанию: yes)

Следующие переменные используются для настройки портов SELinux:

    selinux_ports: 
      name_of_selinux_type:
        ports: (обязательно, порт или диапазон портов)
        protocol: (опционально, только значения: tcp|udp, по умолчанию: tcp)
        state: (опционально, только значения: present|absent, по умолчанию: present)

Следующие переменные используются для настройки контекстов файлов SELinux:

    selinux_fcontext: 
      name_of_selinux_fcontext: (ваш собственный выбор для лучшей документации в вашем плейбуке)
        file_spec: (обязательно, регулярное выражение для описания затронутых файлов)
        setype: (обязательно, существующий тип selinux для маркировки файлов вашего file_spec)
        ftype: (опционально, только значения: a|b|c|d|f|l|p|s - см. man-страницу semanage-fcontext для типа файла, по умолчанию: a - все файлы)
        state: (опционально, только значения: present|absent, по умолчанию: present)

Пример плейбука

    - hosts: server
      become: yes
      become_user: root
      become_method: su
      roles:
        - { role: ansible-selinux-role }
      vars:
        selinux_policy: "targeted"
        selinux_state: "enforcing"
        selinux_boolean:
          antivirus_can_scan_system:
            state: yes
            persistent: yes
          httpd_can_sendmail:
            state: yes
            persistent: yes
        selinux_ports:
          ssh_port_t:
            ports: 2222
            protocol: tcp
            state: present
          http_port_t:
            ports: 9000-9004
            protocol: tcp
            state: present
        selinux_fcontext:
          vcloud_documentroot:
            file_spec: "/srv/www(.*)"
            setype: httpd_sys_rw_content_t
            ftype: a
            state: present

Лицензия

MIT

Установить
ansible-galaxy install FlatKey/ansible-selinux-role
Лицензия
mit
Загрузки
187
Владелец