Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя одним способом, другого - другим? В моем случае одного с помощью MySQL, а другого с помощью OpenLDAP. Спасибо.
> Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя
> одним способом, другого - другим? В моем случае одного с помощью
> MySQL, а другого с помощью OpenLDAP. Спасибо.могут, они друг от друга абсолютно не зависят.
вы лучше подумайте как вы будете синкать эти базы.
> могут, они друг от друга абсолютно не зависят.Ему надо 2 разных (ао авторизации) пользователя и в exim-е, и в dovecot-е.
>> Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя
>> одним способом, другого - другим? В моем случае одного с помощью
>> MySQL, а другого с помощью OpenLDAP. Спасибо.
> могут, они друг от друга абсолютно не зависят.
> вы лучше подумайте как вы будете синкать эти базы.Тут вообще такая ситуация. Есть exim(pop3/dovecot/mysql на FreeBSD, хочу перетащить все это дело как exim(imap)/dovecot/mysql+ldap на Debian. Хотелось бы сохранить несколько пользователей в MySQL, а остальных авторизировать через OpenLDAP. Пользователи в базах разные, поэтому накладок быть не должно, я думаю.
>>> Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя
>>> одним способом, другого - другим? В моем случае одного с помощью
>>> MySQL, а другого с помощью OpenLDAP. Спасибо.
>> могут, они друг от друга абсолютно не зависят.
>> вы лучше подумайте как вы будете синкать эти базы.
> Тут вообще такая ситуация. Есть exim(pop3/dovecot/mysql на FreeBSD, хочу перетащить все
> это дело как exim(imap)/dovecot/mysql+ldap на Debian. Хотелось бы сохранить несколько
> пользователей в MySQL, а остальных авторизировать через OpenLDAP. Пользователи в базах
> разные, поэтому накладок быть не должно, я думаю.да вообщем-то сколько угодно, все делается штатным образом
Кусок конфига exim, касающийся авторизации:auth_plain_ldap:
driver = plaintext
public_name = LDAP_PLAIN
server_condition = ${if ldapauth {user="uid=${quote_ldap_dn:$2},ou=Users,dc=example,dc=net" pass=${quote:$3} ldap://host.example.net/ou=Users,dc=example,dc=net}{yes}fail}}
server_set_id = $2auth_plain_mysql:
driver = plaintext
public_name = PLAIN
server_condition = ${if crypteq{$3}{${lookup mysql{SELECT password FROM mailbox WHERE username = '${quote_mysql:$2}' AND active ='1'}}}{yes}{no}}
server_set_id = $2auth_login_mysql:
driver = plaintext
public_name = LOGIN
server_condition = ${if crypteq{$3}{${lookup mysql{SELECT username FROM mailbox WHERE username = '${quote_mysql:$1}' AND password = '${quote_mysql:$2}' AND active ='1'}}}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
Так вот при отправке сообщения, используюя, учетную запись LDAP пользователя в логах exim видно, что<<SKIPPED>>
database lookup required for SELECT password FROM mailbox WHERE username = 'user' AND active ='1'
16:52:08 12831 MySQL query: SELECT password FROM mailbox WHERE username = 'user' AND active ='1'
16:52:08 12831 MYSQL new connection: host=host.example.net port=0 socket=NULL database=exim user=exim
16:52:08 12831 MYSQL: no data found
<<SKIPPED>>
16:52:08 12831 SMTP>> 504 LOGIN authentication mechanism not supportedТ.е. в LDAP вообще не ищется. Мне казалось, что должно быть так: сначала поиск в LDAP через механизм PLAIN, и затем уже, если не найдено, поиск в MYSQL через механизм PLAIN, затем LOGIN. На деле же LDAP вообще игнорируется, хотя если закоментировать секции с MYSQL, то LDAP пользователь отлично находится и exim нормально авторизует пользователя.
>[оверквотинг удален]
> 16:52:08 12831 MYSQL new connection: host=host.example.net port=0 socket=NULL database=exim
> user=exim
> 16:52:08 12831 MYSQL: no data found
> <<SKIPPED>>
> 16:52:08 12831 SMTP>> 504 LOGIN authentication mechanism not supported
> Т.е. в LDAP вообще не ищется. Мне казалось, что должно быть так:
> сначала поиск в LDAP через механизм PLAIN, и затем уже, если
> не найдено, поиск в MYSQL через механизм PLAIN, затем LOGIN.
> На деле же LDAP вообще игнорируется, хотя если закоментировать секции с
> MYSQL, то LDAP пользователь отлично находится и exim нормально авторизует пользователя.Сам же себе и отвечу.
http://forum.lissyara.su/viewtopic.php?f=20&t=3577&start=25#...