|
www.lissyara.su
—> документация
—> EXIM
—> 4.70
—> часть 36
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 не может повысить дефолтовые привилегии. Также, вам может понадобиться установить переменные окружения, в зависимости от используемого драйвера.
Имя приложения для exim'a - “exim ”, таким образом различные опции SASL могут быть установлены в “exim.conf ” в вашей директории SASL. Если для Kerberos вы используете GSSAPI, заметтьте, что что из-за ограничений интерфейса GSSAPI изменение сервера keytab может потребовать немедленного сообщения на уровень Kerberos. Механизм для этого зависит от реализации Kerberos. Например, для Heimdal, переменная окружения “KRB5_KTNAME ” может быть установлена в альтернативный файл keytab. Exim передаёт эту переменную через своё собственное окружение когда запускается от root или пользователя exim'a. Пользователья exim должен иметь право читать файл keytab.
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 = $auth2
| Cyrus SASL действительно осуществляет аутентификационный метод LOGIN, несмотря на то, что это - нестандартный метод. По умолчанию, это отключено в исходных кодах, но присутствует во многих двоичных дистрибутивах.
=============
translated by lissyara
verifying by Gerk
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|