Добрый день.Конечная цель - аутентификация пользователей IMAP-сервера (Cyrus-IMAP) в Active Directory посредством GSSAPI(Kerberos v5). В качестве ОС используется openSUSE 10.2.
Дело встало на аутентификации пользователей с помощью тестовых сервера и клиента, которые входят в состав cyrus-sasl.
Сделано было следующее:
1. Базовая настройка kerberos в файле /etc/krb5.conf
2. В AD создан пользователь imap с принципалом imap/short-host-name
3. Создан keytab-файл для принципала imap/short-host-name
4. Созданный keytab-файл добавлен в /etc/krb5.keytab
Таким образом, следующая команда не вызывает каких-либо ошибок
# kinit -k imap/short-host-name
#
Далее проверяем работу сервера с помощью тестовых сервера и клиента.
На первой консоли запускаем тесовый сервер:
# cyrus_sasl_sample_server -s imap
trying 2, 1, 6
trying 10, 1, 6
socket: Address family not supported by protocol
На второй - тестовый клиент, но перед этим получим билетик для пользователя:
> kinit user
Password for user@REALM:
> cyrus_sasl_sample_client -s imap localhost
receiving capability list... recv: {28}
ANONYMOUS PLAIN LOGIN GSSAPI
ANONYMOUS PLAIN LOGIN GSSAPI
please enter an authorization id:
(вводим user, хотя здесь без разницы что вводить - результат не изменится)
send: {6}
GSSAPI
send: {1}
Y
send: {1194}
`[82](пропущенный текст)[7F]?
authentication failed
closing connection
>
А в это время на первой консоли, на которой по прежнему запущен тестовый сервер:
accepted new connection
send: {28}
ANONYMOUS PLAIN LOGIN GSSAPI
recv: {6}
GSSAPI
recv: {1}
Y
recv: {1194}
`[82] (пропущенный текст) [7F]?
starting SASL negotiation: authentication failureclosing connection
Почему не аутентифицируется пользователь?
Сталкивался ли кто либо с настройкой GSSAPI для cyrus-sasl?
Заранее благодарю.