The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
exim/dovecot двухфакторная авторизаиця, !*! dunno, 21-Окт-10, 12:07  [смотреть все]
Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя одним способом, другого - другим? В моем случае одного с помощью MySQL, а другого с помощью OpenLDAP. Спасибо.
  • exim/dovecot двухфакторная авторизаиця, !*! xz, 12:43 , 21-Окт-10 (1)
    • exim/dovecot двухфакторная авторизаиця, !*! Andrey Mitrofanov, 12:46 , 21-Окт-10 (2)
    • exim/dovecot двухфакторная авторизаиця, !*! dunno, 12:47 , 21-Окт-10 (3)
      >> Подскажите, пожалуйста, exim и dovecot могут авторизовать одновременно одного пользователя
      >> одним способом, другого - другим? В моем случае одного с помощью
      >> MySQL, а другого с помощью OpenLDAP. Спасибо.
      > могут, они друг от друга абсолютно не зависят.
      > вы лучше подумайте как вы будете синкать эти базы.

      Тут вообще такая ситуация. Есть exim(pop3/dovecot/mysql на FreeBSD, хочу перетащить все это дело как exim(imap)/dovecot/mysql+ldap на Debian. Хотелось бы сохранить несколько пользователей в MySQL, а остальных авторизировать через OpenLDAP. Пользователи в базах разные, поэтому накладок быть не должно, я думаю.

  • exim/dovecot двухфакторная авторизаиця, !*! dunno, 10:02 , 28-Окт-10 (5)
    Кусок конфига 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 = $2

    auth_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 = $2

    auth_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 нормально авторизует пользователя.

    • exim/dovecot двухфакторная авторизаиця, !*! dunno, 08:45 , 29-Окт-10 (6)
      >[оверквотинг удален]
      > 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#...





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру