Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.
Аутентификатор spa предоставляет поддержку клиента для механизма Microsoft's Secure Password Authentication, также известного как NTLM (NT LanMan). Код для клиентской стороны этого аутентификатора был внесён Marc Prud'hommeaux, большая его часть взята из проекта Samba (http://www.samba.org). Впоследствии Tom Kistner внёс код для сервера. Механизм работает следующим образом:
Аутентификатор spa обладает лишь одной серверной опцией:
Имя | Использование | Тип | Значение по умолчанию |
server_password | spa | string† | не задана |
Эта опция раскрывается, результатом должен быть пароль в открытом виде для аутентификации пользователя, чьё имя в данной точке находится в $auth1. Для совместимости с предыдущими релизами exim, имя пользователя также помещается в $1. Однако, в настоящее время использование этой переменной для этой цели не приветствуется, поскольку может привести к недоразумениям в раскрытиях строк, также использующих числовые переменные для иных целей. Например:
spa: driver = spa public_name = NTLM server_password = ${lookup{$auth1}lsearch{/etc/exim/spa_clearpass} \ {$value}fail} |
Если раскрытие принудительно неудачно, аутнетификация неуспешна. Любые другие ошибки раскрытия вызывают возврат кода временной ошибки.
Аутентификатор spa обладает следующими клиентскими опциями:
Имя | Использование | Тип | Значение по умолчанию |
client_domain | spa | string† | не задана |
Эта опция определяет опциональный домен для аутентификации.
Имя | Использование | Тип | Значение по умолчанию |
client_password | spa | string† | не задана |
Эта опция определяет пользовательский пароль и должна быть задана.
Имя | Использование | Тип | Значение по умолчанию |
client_username | spa | string† | не задана |
Эта опция определяет имя пользователя и должна быть задана. Вот пример конфигурации этого аутентификатора для использования с почтовыми серверами msn.com:
msn: driver = spa public_name = MSN client_username = msn/msn_username client_password = msn_plaintext_password client_domain = DOMAIN_OR_UNSET |
Этот аутентификатор является интерфейсом к средству аутентификации сервера Dovecot POP/IMAP, который может поддерживать много методов аутентификации. Если Вы используете Dovecot, чтобы аутентифицировать клиенты POP/IMAP, могло бы быть полезно использовать те же самые механизмы для аутентификации SMTP. Это только аутентификатор сервера. Есть только одна опция:
Имя | Использование | Тип | Значение по умолчанию |
server_socket | dovecot | string | не задана |
Эта опция должна определить сокет, который является интерфейсом к аутентификации dovecot. Опция public_name должна определить механизм аутентификации, который dovecot поддерживает. У Вас может быть несколько аутентификаторов для различных механизмов. Например:
dovecot_plain: driver = dovecot public_name = PLAIN server_socket = /var/run/dovecot/auth-client server_set_id = $auth2 dovecot_ntlm: driver = dovecot public_name = NTLM server_socket = /var/run/dovecot/auth-client server_set_id = $auth1 |
Если соединение SMTP шифруется, или если $sender_host_address равен $received_ip_address (то есть, соединение локально), опцию secured передают в команде аутентификации dovecot. Если для соединения TLS клиентский сертификат был проверен, передают опцию valid-client-cert. Когда аутентификация успешно выполняется, идентификационные данные пользователя, который аутентифицировался, помещаются в $auth1.