Перевод выполнен Алексеем Паутовым в рамках
некоммерческого проекта RussianLDP
(http://www.rldp.ru/). Именно на этом сайте
и надлежит искать новые версии, если таковые будут.
36. Аутентификатор Cyrus_sasl
Код для этого аутентификатора был предоставлен Matthew
Byng-Maddick of A L Digital Ltd (http://www.aldigital.co.uk).
Аутентификатор cyrus_sasl предоставляет серверную поддержку
для реализации RFC 2222 (Simple Authentication and Security Layer)
библиотекой Cyrus SASL. Эта библиотека поддерживает множество
аутентификационных механизмов, включая PLAIN и LOGIN, а также несколько
других, которые exim не поддерживает непосредственно.
В частности, есть поддержка для аутентификации Kerberos.
Аутентификатор cyrus_sasl
предоставляет шлюзовой механизм напрямую к интерфейсу Cyrus, таким образом,
Ваша билиотека Cyrus может, например, CRAM-MD5, что может аутентификатор
cyrus_sasl. По умолчанию им используется публичное имя драйвера
для определения, какой механизм поддерживать.
Когда требуется доступ к какому-то секретному
файлу, например, в GSSAPI или CRAM-MD5, нужно отметить, что аутентификатор
выполняется от пользователя exim, и что библиотека Cyrus SASL не может
повысить привилегии по умолчанию. Также, Вам может понадобиться установить
переменные окружения, в зависимости от используемого драйвера.
36.1. Использование cyrus_sasl в качестве сервера
Аутентификатор cyrus_sasl
обладает четыремя частными опциями. Он помещает имя пользователя
(из успешной аутентификации) в $auth1. Для совместимости с предыдущими
релизами exim, имя пользователя также помещается в переменную $1.
Однако, использование этой переменной для данной цели в настоящее время
осуждается, поскольку может привести к беспорядку при раскрытиях строк,
использующих цифровые переменные для других целей.
Имя |
Использование |
Тип |
Значение по умолчанию |
server_hostname |
cyrus_sasl | string† |
$primary_hostname |
Эта опция выбирает имя хоста, используемое
при связи с библиотекой. Она выше нижележащего плугинса SASL, который
работает с этими данными.
Имя |
Использование |
Тип |
Значение по умолчанию |
server_mech |
cyrus_sasl | string |
public_name |
Эта опция выбирает аутентификационный механизм,
который должен использовать этот драйвер. Она возволяет Вам использовать иной
основной механизм для объявленного имени. Например:
sasl:
driver = cyrus_sasl
public_name = X-ANYTHING
server_mech = CRAM-MD5
server_set_id = $auth1
|
Имя |
Использование |
Тип |
Значение по умолчанию |
server_realm |
cyrus_sasl | string |
не задана |
Эта опция определяет область SASL,
в которой осуществляется сервер.
Имя |
Использование |
Тип |
Значение по умолчанию |
server_service |
cyrus_sasl | string |
smtp |
Это сервис SASL, в области которого осуществлется сервер.
Для прямых случаев Вы не должны устанавливать какую-либо
из частных опций аутентификатора. Всё, что необходимо сделать: задать
соответствующий механизм как публичное имя. Таким образом, если у Вас есть
билиотека SASL, поддерживающая CRAM-MD5 и PLAIN, Вы могли бы обладать двумя
аутентификаторами, как показано далее:
sasl_cram_md5:
driver = cyrus_sasl
public_name = CRAM-MD5
server_set_id = $auth1
sasl_plain:
driver = cyrus_sasl
public_name = PLAIN
server_set_id = $auth1
|
Cyrus SASL действительно осуществляет
аутентификационный метод LOGIN, несмотря на то, что это нестандартный метод.
По умолчанию это отключено в исходных кодах, но присутствует во
многих двоичных дистрибутивах.
|