cyrus-sasl

ansible-role-cyrus-sasl

Устанавливает cyrus-sasl, saslauthd и настраивает пользователей в файле базы данных SASL. Эта роль поддерживает только локальную базу данных SASL и saslauthd. Если вам нужны другие методы аутентификации, то эта роль вам не подойдет.

sasl_check_pw

Эта роль устанавливает скрипт на Python для проверки пароля пользователя в /usr/local/bin на всех платформах. Так как нет способа узнать, совпадает ли пароль, заданный в переменной роли, с паролем в базе данных, скрипт читается файл cyrus_sasl_sasldb_file и ищет пользователя и его пароль. Скрипт предполагает, что файл cyrus_sasl_sasldb_file в формате dbm.

sasl_check_pw путь пользователь домен

путь — это путь к cyrus_sasl_sasldb_file. пользователь — это имя пользователя в cyrus_sasl_sasldb_file, а домен — это имя домена, к которому принадлежит пользователь. Установите пароль для проверки в переменной окружения userPassword. Когда пароль совпадает с тем, что в cyrus_sasl_sasldb_file, выводится совпадает в stdout. Если не совпадает, выводится не совпадает в stdout. Скрипт должен выполняться пользователем, имеющим права на чтение файла cyrus_sasl_sasldb_file.

Требования

Отсутствуют

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

Переменная Описание По умолчанию
cyrus_sasl_package имя пакета cyrus-sasl {{ __cyrus_sasl_package }}
cyrus_sasl_saslauthd_service имя службы saslauthd {{ __cyrus_sasl_saslauthd_service }}
cyrus_sasl_saslauthd_enable включить saslauthd, если да да
cyrus_sasl_saslauthd_flags словарь переменных службы и их значений (см. ниже) {}
cyrus_sasl_saslauthd_flags_default значение по умолчанию переменных службы и их значений {{ __cyrus_sasl_saslauthd_flags_default }}
cyrus_sasl_plugin_dir каталог плагинов, где хранится конфигурация приложения {{ __cyrus_sasl_plugin_dir }}
cyrus_sasl_saslpassword_command команда для управления паролями пользователей {{ __cyrus_sasl_saslpassword_command }}
cyrus_sasl_sasldblistusers_command команда для перечисления пользователей в базе данных {{ __cyrus_sasl_sasldblistusers_command }}
cyrus_sasl_sasldb_file путь к файлу SASL DB {{ __cyrus_sasl_sasldb_file }}
cyrus_sasl_sasldb_owner владелец файла SASL DB root
cyrus_sasl_sasldb_group группа файла SASL DB {{ __cyrus_sasl_sasldb_group }}
cyrus_sasl_sasldb_file_permission права доступа к файлу SASL DB {{ __cyrus_sasl_sasldb_file_permission }}
cyrus_sasl_config словарь конфигурации приложения (см. ниже) {}
cyrus_sasl_user словарь пользователей в файле SASL DB (см. ниже) {}

cyrus_sasl_saslauthd_flags

Эта переменная является словарем переменных файлов конфигурации запуска, таких как файлы в /etc/default, /etc/sysconfig и /etc/rc.conf.d. Предполагается, что файлы загружаются системой запуска с помощью sh(1). Ключ в словаре - это имя переменной в файле, а значение ключа - это значение переменной. Переменная комбинируется с переменной, имя которой совпадает с данной переменной, но заканчивается на _default (объясняется ниже), и результат создает файл конфигурации запуска, обычно это файл, состоящий из строк ключ="значение" в соответствующем каталоге для платформы.

Когда платформа - OpenBSD, вышеуказанное объяснение не применимо. В этом случае единственным действительным ключом является flags, и его значение передается в daemon_flags из rc.conf(5), где daemon – это имя одного из скриптов управления демоном rc.d(8).

cyrus_sasl_saslauthd_flags_default

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

Когда платформа - OpenBSD, переменная имеет единственный ключ flags, и его значение - пустая строка.

cyrus_sasl_config

Ключ - это имя приложения. Значение - это словарь, где ключ - это имя переменной, а значение - его значение. Пример:

cyrus_sasl_config:
    myapp:
        pwcheck_method: saslauthd

cyrus_sasl_user

Ключ - это имя пользователя, а его значения - это словарь.

Ключ Значение
domain домен пользователя
password пароль пользователя
appname appname пользователя
state либо present, либо absent. Роль создает пользователя, если present, или удаляет, если absent
cyrus_sasl_user:
  foo:
    domain: reallyenglish.com
    password: password
    appname: argus
    state: present

Debian

Переменная По умолчанию
__cyrus_sasl_package libsasl2-2
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"MECHANISMS"=>"pam", "MECH_OPTIONS"=>"", "THREADS"=>5, "OPTIONS"=>"-c -m /var/run/saslauthd"}
__cyrus_sasl_plugin_dir /usr/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 0660
__cyrus_sasl_sasldb_group root

FreeBSD

Переменная По умолчанию
__cyrus_sasl_package cyrus-sasl
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {}
__cyrus_sasl_plugin_dir /usr/local/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /usr/local/etc/sasldb2
__cyrus_sasl_sasldb_file_permission 600
__cyrus_sasl_sasldb_group wheel

OpenBSD

Переменная По умолчанию
__cyrus_sasl_package cyrus-sasl--
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"flags"=>"-a getpwent"}
__cyrus_sasl_plugin_dir /usr/local/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 600
__cyrus_sasl_sasldb_group wheel

RedHat

Переменная По умолчанию
__cyrus_sasl_package cyrus-sasl
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"SOCKETDIR"=>"/run/saslauthd", "MECH"=>"pam", "FLAGS"=>""}
__cyrus_sasl_plugin_dir /usr/lib64/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 0640
__cyrus_sasl_sasldb_group root

Зависимости

Отсутствуют

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

- hosts: localhost
  roles:
    - ansible-role-cyrus-sasl
  vars:
    cyrus_sasl_user:
      foo:
        domain: reallyenglish.com
        password: password
        appname: argus
        state: present
    cyrus_sasl_config:
      myapp:
        pwcheck_method: saslauthd
      argus:
        pwcheck_method: auxprop
        auxprop_plugin: sasldb
        mech_list: DIGEST-MD5
    cyrus_sasl_sasldb_group: "{% if ansible_os_family == 'Debian' %}nogroup{% else %}nobody{% endif %}"
    cyrus_sasl_sasldb_file_permission: "0640"

    extra_variables_debian:
      THREADS: 6
    extra_variables_redhat:
      FLAGS: -n 6
    extra_variables_freebsd:
      saslauthd_flags: -a pam -n 6
    extra_variables_openbsd:
      flags: -a getpwent -n 6
    cyrus_sasl_saslauthd_flags: "{% if ansible_os_family == 'Debian' %}{{ extra_variables_debian }}{% elif ansible_os_family == 'RedHat' %}{{ extra_variables_redhat }}{% elif ansible_os_family == 'FreeBSD' %}{{ extra_variables_freebsd }}{% elif ansible_os_family == 'OpenBSD' %}{{ extra_variables_openbsd }}{% endif %}"

Лицензия

Copyright (c) 2017 Tomoyuki Sakurai <[email protected]>

Разрешение на использование, копирование, изменение и распространение этого программного обеспечения для любых
целей с или без оплаты предоставляется при условии, что вышеуказанное
уведомление об авторском праве и это уведомление о разрешении появляются во всех копиях.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", И АВТОР ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ
В СВЯЗИ С ЭТИМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ, ВКЛЮЧАЯ ВСЕ НЕЯВНЫЕ ГАРАНТИИ ТОРГОВЛИ И ПРИГОДНОСТИ. В НИКАКОМ СЛУЧАЕ АВТОР НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА
ЛЮБЫЕ ОСОБЫЕ, ПРЯМЫЕ, КОСВЕННЫЕ ИЛИ ПОБОЧНЫЕ УБЫТКИ ИЛИ ЛЮБЫЕ УБЫТКИ,
ВЫТЕКАЮЩИЕ ИЗ ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ, БУДЬ ТО В
ДЕЙСТВИИ ДОГОВОРА, ХАЛАТНОСТИ ИЛИ ДРУГОГО ДЕЛИКТНОГО ДЕЙСТВИЯ, ВОЗНИКАЮЩЕГО ИЛИ В СВЯЗИ С
ИСПОЛЬЗОВАНИЕМ ИЛИ ЭФФЕКТИВНОСТЬЮ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

Информация об авторе

Tomoyuki Sakurai tomoyukis@reallyenglish.com

Этот README был создан с помощью qansible

О проекте

Configures cyrus-sasl and users in SASL DB file

Установить
ansible-galaxy install reallyenglish/ansible-role-cyrus-sasl
Лицензия
isc
Загрузки
13471
Владелец