Архив документации OpenNet.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`a, и, что библиотека Cyrus SASL не может повысить дефолтовые привилегии. Также, вам может понадобиться установить переменные окружения, в зависимости от используемого драйвера.
36.1 Использование cyrus_sasl в качестве сервера
Аутентификатор
“
cyrus_sasl
” обладает четырьмя частными опциями. Он помещает имя пользователя (из успешной аутентификации) в
“
$auth1
”. Для совместимости с предыдущими релизами exim`a, имя пользователя, также, помещается в переменную
“
$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, несмотря на то, что это - нестандартный метод. По умолчанию, это отключено в исходных кодах, но присутствует во многих двоичных дистрибутивах.
=============
Автор перевода: lissyara, оригинал: http://www.lissyara.su/?id=1200
Архив документации на OpenNet.ru