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
ansible-galaxy install reallyenglish/ansible-role-cyrus-sasl