Exim + dovecot + ldap

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-07 18:18:45

Приветствую :)

Решил поднять локальный почтовый сервер в связке exim+dovecot. Делал по одному из конфигов с сайта

Столкнулся со следующей проблемой - для того чтобы разобраться как это все работает, тестово решил поднять все с авторизацией в MySQL. Все работает и жизнь хороша, но мне требуется авторизация в АД через лдап. Сразу в довекоте я поддержку лдап не включал. Теперь не могу понять в чем причина. Сделал все в такой последовательности.

1. Удалил довекот. pkg_delete -x dovecot
2. make config выставил поддержку лдап. make install clean
3. Довекот собрался и в /usr/local/etc появился файл dovecot-ldap.conf

Привел к такому виду:

Код: Выделить всё

hosts = 172.16.4.101
#uris = ldap://192.168.0.7:3268
dn = CN=dovecot,CN=Users,DC=domain,DC=ru
dnpass = dovecot
#debug_level = 0

auth_bind = yes
#auth_bind_userdn = cn=%u,cn=users,dc=corp,dc=example,dc=ru

ldap_version = 3
base = cn=users, dc=domain, dc=ru
#deref = searching
scope = subtree

#user_attrs = uidNumber=mailnull,gidNumber=mail,homeDirectory=home=/var/mail/exim/%$
#user_filter = (&(objectClass=user)(name=%u))
#pass_attrs = name=user
#pass_filter = (&(objectClass=user)(name=%u))

user_attrs=mail=home
user_filter= (&(objectClass=user)(objectClass=person)(sAMAccountName=%u)(badPasswordTime=*))

pass_attrs=sAMAccountName=user
pass_filter = (&(objectClass=user)(objectClass=person)(sAMAccountName=%u)(badPasswordTime=*))

На что при запуске выдает:

Код: Выделить всё

dovecot: Info: Dovecot v1.2.4 starting up
auth(default): Error: Error in configuration file /usr/local/etc/dovecot-ldap.conf line 1: Unknown setting: hosts
dovecot: Fatal: Auth process died too early - shutting down
Складывается впечатление что довекот собрался без поддержки лдапа. Подскажите как посмотреть с какими флагами сейчас собран довекот или если я не прав, то куда копать...

Это мой первый опыт работы с FreeBSD. В гугле чего-то найти не смог :(

Заранее благодарен за помощь

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-07 18:26:25

Прошу прощения за оффтоп, но проблема была банальная из-за невнимательности.

Код: Выделить всё

  passdb sql {
    args = /usr/local/etc/dovecot-ldap.conf
  }
  userdb sql {
    args = /usr/local/etc/dovecot-ldap.conf
}
Но мне все также интересно как увидеть флаги :)

Появилось пара вопросов.

1. Довекот пытаюсь прикрутить к лдапу. При попытке

Код: Выделить всё

[root@mail /usr/ports/mail/dovecot]# ldapsearch -x -b "dc=domain,dc=ru" -D "dovecot@domain.ru" -h ad,domain.ru -W
запрос проходит и выдает много разной информации. Так вот, при попытке:

Код: Выделить всё

root@b419-toboe:/home/toboe# telnet domain.ru 143
Trying 172.16.20.15...
Connected to domain.ru.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN] dovecot MUA ready
1 login exim1@domain.ru 123456
1 NO [AUTHENTICATIONFAILED] Authentication failed.
Выше указан мой конфиг dovecot-ldap.conf. В чем может быть проблема? И еще очень хотелось бы узнать об авторизации екзима через довекот. Если есть полезные ссылки - буду очень рад почитать. За последние 3 дня в голове сплошная каша...

Заранее премного благодарен за любую помощь.

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-08 10:18:41

Код: Выделить всё

Dec 08 16:44:16 auth(default): Error: userdb(shelapugin.ga@fentu.int,172.16.20.224): user not found from userdb ldap
Наковырял такую вот проблему. подскажите куда копать...

dovecot.conf

Код: Выделить всё

base_dir = /var/run/dovecot/
protocols = imap
ssl = no

protocol imap {
       listen = *:143
}


log_path=/var/log/dovecot.log
disable_plaintext_auth = no
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 64
login_greeting = dovecot MUA ready
#login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
verbose_proctitle = yes
first_valid_uid = 26
first_valid_gid = 6
mail_access_groups = mail
mail_location = maildir:/var/mail/exim/%h

# umask = 0077

protocol imap {
  imap_client_workarounds = delay-newmail outlook-idle \
  netscape-eoh tb-extra-mailbox-sep
}


protocol lda {
  postmaster_address = postmaster@domain-ak.ru
  auth_socket_path = /var/run/dovecot/auth-master
}

#auth_cache_size = 0
#auth_username_format = %Lu
auth default {
mechanisms = plain
   socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = mailnull
     }
   }
  passdb ldap {
        args = /usr/local/etc/dovecot-ldap.conf
  }
  userdb ldap {
        args = /usr/local/etc/dovecot-ldap.conf
}
  user = root
}
plugin {

trash = /usr/local/etc/dovecot-trash.conf

}


dovecot-ldap.conf

Код: Выделить всё

hosts = 172.16.4.101:3268
#uris = ldap://172.16.4.101:3268
#dn = CN=dovecot,OU=Users,DC=domain,DC=ru
dn = dovecot@domain.ru
dnpass = password
debug_level = 1

auth_bind = yes
#auth_bind_userdn = CN=dovecot,CN=users,DC=domain,DC=ru
auth_bind_userdn = %n@domain.ru
ldap_version = 3
base = DC=domain,DC=ru
deref = searching
scope = subtree

user_attrs=mail=home=/var/mail/exim/%$
user_filter = (&(objectClass=top)(objectClass=user)(objectClass=organizationalPerson)(objectClass=person)(sAMAccountName=%u))
#pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=top)(objectClass=user)(objectClass=organizationalPerson)(objectClass=person)(sAMAccountName=%u))

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-10 14:18:02

Проблема с довектом так и не решена. Решил запустить с дебагом, на что получаю:

Код: Выделить всё

Dec 10 21:16:42 dovecot: Info: Dovecot v1.2.4 starting up
Dec 10 21:16:42 auth(default): Error: ldap_bind
Dec 10 21:16:42 auth(default): Error: ldap_simple_bind
Dec 10 21:16:42 auth(default): Error: ldap_sasl_bind
Dec 10 21:16:42 auth(default): Error: ldap_send_initial_request
Dec 10 21:16:42 auth(default): Error: ldap_new_connection 1 1 0
Dec 10 21:16:42 auth(default): Error: ldap_int_open_connection
Dec 10 21:16:42 auth(default): Error: ldap_connect_to_host: TCP 172.16.4.101:3268
Dec 10 21:16:42 auth(default): Error: ldap_new_socket: 10
Dec 10 21:16:42 auth(default): Error: ldap_prepare_socket: 10
Dec 10 21:16:42 auth(default): Error: ldap_connect_to_host: Trying 172.16.4.101:3268
Dec 10 21:16:42 auth(default): Error: ldap_pvt_connect: fd: 10 tm: -1 async: 0
Dec 10 21:16:42 auth(default): Error: ldap_open_defconn: successful
Dec 10 21:16:42 auth(default): Error: ldap_send_server_request
Dec 10 21:16:42 auth(default): Error: ldap_result ld 0x11c4c020 msgid -1
Dec 10 21:16:42 auth(default): Error: wait4msg ld 0x11c4c020 msgid -1 (timeout 0 usec)
Dec 10 21:16:42 auth(default): Error: wait4msg continue ld 0x11c4c020 msgid -1 all 1
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Connections:
Dec 10 21:16:42 auth(default): Error: * host: 172.16.4.101  port: 3268  (default)
Dec 10 21:16:42 auth(default): Error:   refcnt: 2  status: Connected
Dec 10 21:16:42 auth(default): Error:   last used: Thu Dec 10 21:16:42 2009
Dec 10 21:16:42 auth(default): Error: 
Dec 10 21:16:42 auth(default): Error: 
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Outstanding Requests:
Dec 10 21:16:42 auth(default): Error:  * msgid 1,  origid 1, status InProgress
Dec 10 21:16:42 auth(default): Error:    outstanding referrals 0, parent count 0
Dec 10 21:16:42 auth(default): Error:   ld 0x11c4c020 request count 1 (abandoned 0)
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Response Queue:
Dec 10 21:16:42 auth(default): Error:    Empty
Dec 10 21:16:42 auth(default): Error:   ld 0x11c4c020 response count 0
Dec 10 21:16:42 auth(default): Error: ldap_chkResponseList ld 0x11c4c020 msgid -1 all 1
Dec 10 21:16:42 auth(default): Error: ldap_chkResponseList returns ld 0x11c4c020 NULL
Dec 10 21:16:42 auth(default): Error: ldap_int_select
Dec 10 21:16:42 auth(default): Error: read1msg: ld 0x11c4c020 msgid -1 all 1
Dec 10 21:16:42 auth(default): Error: read1msg: ld 0x11c4c020 msgid 1 message type bind
Dec 10 21:16:42 auth(default): Error: read1msg: ld 0x11c4c020 0 new referrals
Dec 10 21:16:42 auth(default): Error: read1msg:  mark request completed, ld 0x11c4c020 msgid 1
Dec 10 21:16:42 auth(default): Error: request done: ld 0x11c4c020 msgid 1
Dec 10 21:16:42 auth(default): Error: res_errno: 0, res_error: <>, res_matched: <>
Dec 10 21:16:42 auth(default): Error: ldap_free_request (origid 1, msgid 1)
Dec 10 21:16:42 auth(default): Error: ldap_parse_result
Dec 10 21:16:42 auth(default): Error: ldap_msgfree
Dec 10 21:16:42 auth(default): Error: ldap_result ld 0x11c4c020 msgid -1
Dec 10 21:16:42 auth(default): Error: wait4msg ld 0x11c4c020 msgid -1 (timeout 0 usec)
Dec 10 21:16:42 auth(default): Error: wait4msg continue ld 0x11c4c020 msgid -1 all 1
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Connections:
Dec 10 21:16:42 auth(default): Error: * host: 172.16.4.101  port: 3268  (default)
Dec 10 21:16:42 auth(default): Error:   refcnt: 1  status: Connected
Dec 10 21:16:42 auth(default): Error:   last used: Thu Dec 10 21:16:42 2009
Dec 10 21:16:42 auth(default): Error: 
Dec 10 21:16:42 auth(default): Error: 
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Outstanding Requests:
Dec 10 21:16:42 auth(default): Error:    Empty
Dec 10 21:16:42 auth(default): Error:   ld 0x11c4c020 request count 0 (abandoned 0)
Dec 10 21:16:42 auth(default): Error: ** ld 0x11c4c020 Response Queue:
Dec 10 21:16:42 auth(default): Error:    Empty
Dec 10 21:16:42 auth(default): Error:   ld 0x11c4c020 response count 0
Dec 10 21:16:42 auth(default): Error: ldap_chkResponseList ld 0x11c4c020 msgid -1 all 1
Dec 10 21:16:42 auth(default): Error: ldap_chkResponseList returns ld 0x11c4c020 NULL
Dec 10 21:16:42 auth(default): Error: ldap_int_select
Подскажите в чем может быть проблема....

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Exim + dovecot + ldap

Непрочитанное сообщение CrazyPilot » 2009-12-10 17:56:11

Toboe писал(а):

Код: Выделить всё

auth_bind_userdn = %n@domain.ru
Такой dn не прокатит, имхо. DN должен быть нормальный, типа CN=bla,CN=Users,DC=domain,Dc=ru

Код: Выделить всё

#auth_username_format = %Lu
С какой целью закомментировали?

user_filter у вас странный какой-то. имхо должно быть что-то типа:

Код: Выделить всё

user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u)(mail=*))
Если вы в ldap.conf определяете в user_attrs хомяк юзера, то в dovecot.conf надо поставить:

Код: Выделить всё

mail_location = maildir:~
для auth сокета указали user, но забыли про group? Зачем удалили client socket?

Включите auth_debug в dovecot.conf, бывает полезно..
Покажите вывод

Код: Выделить всё

dovecot -n

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-11 1:21:42

Код: Выделить всё

[root@mail /home/toboe]# dovecot -n
# 1.2.4: /usr/local/etc/dovecot.conf
# OS: FreeBSD 7.2-RELEASE amd64  ufs
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot.log
protocols: imap
listen: *:143
ssl: no
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable: /usr/local/libexec/dovecot/imap-login
login_greeting: dovecot MUA ready
login_max_processes_count: 64
verbose_proctitle: yes
first_valid_uid: 26
first_valid_gid: 6
mail_access_groups: mail
mail_location: maildir:/var/mail/exim/%h
imap_client_workarounds: delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
lda:
  postmaster_address: postmaster@domain-ak.ru
  auth_socket_path: /var/run/dovecot/auth-master
auth default:
  username_format: %Lu
  passdb:
    driver: ldap
    args: /usr/local/etc/dovecot-ldap.conf
  userdb:
    driver: ldap
    args: /usr/local/etc/dovecot-ldap.conf
  socket:
    type: listen
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: mailnull
      group: mail
dovecot.conf

Код: Выделить всё

[root@mail /home/toboe]# cat /usr/local/etc/dovecot.conf
base_dir = /var/run/dovecot/
protocols = imap
ssl = no

protocol imap {
       listen = *:143
}


log_path = /var/log/dovecot.log

disable_plaintext_auth = no
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 64
login_greeting = dovecot MUA ready
#login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
verbose_proctitle = yes
first_valid_uid = 26
first_valid_gid = 6
mail_access_groups = mail
mail_location = maildir:/var/mail/exim/%d/%u
auth_debug = yes
# umask = 0077

protocol imap {
  imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}


protocol lda {
  postmaster_address = postmaster@domain-ak.ru
  auth_socket_path = /var/run/dovecot/auth-master
}

#auth_cache_size = 0
auth_username_format = %Lu
auth default {
mechanisms = plain
   socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = mailnull
	group = mail
     }
   }
  passdb ldap {
        args = /usr/local/etc/dovecot-ldap.conf
  }
  userdb ldap {
        args = /usr/local/etc/dovecot-ldap.conf
}
  user = root
}
dovecot-ldap.conf

Код: Выделить всё

[root@mail /home/toboe]# cat /usr/local/etc/dovecot-ldap.conf
hosts = 172.16.4.101:3268

#debug_level = 1

# Distinguished Name - the username used to login to the LDAP server
dn = shelapugin.ga@domain.ru

#auth_bind_userdn = shelapugin.ga@domain.ru

#При попытке задать явно как dn=CN=shelapugin.ga,CN=Users,DC=domain,DC=ru ничего не работает

# Password for LDAP server
dnpass = pasword

# Биндинг пользователей можно не юзать, так как auth_bind = yes
auth_bind = yes

# LDAP protocol version to use. Likely 2 or 3.
ldap_version = 3

# LDAP base. %variables can be used here.
base = dc=domain, dc=ru

# Dereference: never, searching, finding, always
deref = searching

# Search scope: base, onelevel, subtree
scope = subtree

#user_attrs=mail=/var/mail/exim/%$

user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u)(mail=*))
pass_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u)(mail=*))
В результате экспериментов и курения дебага вот что накопал:

Код: Выделить всё

Dec 11 08:16:08 auth(default): Info: client in: AUTH	1	PLAIN	service=imap	secured	lip=127.0.0.1	rip=127.0.0.1	lport=143	rport=60850	resp=<hidden>
Dec 11 08:16:08 auth(default): Info: client out: OK	1	user=shelapugin.ga@domain.ru
Dec 11 08:16:08 auth(default): Info: master in: REQUEST	1	34904	1
Dec 11 08:16:08 auth(default): Info: ldap(shelapugin.ga@domain.ru,127.0.0.1): user search: base=dc=domain, dc=ru scope=subtree filter=(&(objectClass=user)(!(objectClass=computer))(sAMAccountName=shelapugin.ga@domain.ru)(mail=*)) fields=homeDirectory,uidNumber,gidNumber
Dec 11 08:16:08 auth(default): Info: ldap(shelapugin.ga@domain.ru,127.0.0.1): Unknown user
Dec 11 08:16:08 auth(default): Error: userdb(shelapugin.ga@domain.ru,127.0.0.1): user not found from userdb ldap
Dec 11 08:16:08 auth(default): Info: master out: NOTFOUND	1
Dec 11 08:16:08 imap-login: Info: Internal login failure (auth failed, 1 attempts): user=<shelapugin.ga@domain.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Exim + dovecot + ldap

Непрочитанное сообщение CrazyPilot » 2009-12-11 9:02:27

Toboe писал(а):

Код: Выделить всё

Dec 11 08:16:08 auth(default): Info: ldap(shelapugin.ga@domain.ru,127.0.0.1): user search: base=dc=domain, dc=ru scope=subtree filter=(&(objectClass=user)(!(objectClass=computer))(sAMAccountName=shelapugin.ga@domain.ru)(mail=*)) fields=homeDirectory,uidNumber,gidNumber
Это вам ни о чем не говорит? Думаю sAMAccountName shelapugin.ga@domain.ru у вас в домене не существует...

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-11 19:52:41

Да, вы правы. Просто я использовал shelapugin.ga@domain.ru, когда нужно было использовать просто shelapugin.ga

Код: Выделить всё

[root@mail /home/toboe]# ldapsearch -x -b dc=fentu,dc=int -D shelapugin.ga@domain.ru -h 172.16.4.101 -W '(&(|(mail=*)(proxyAddresses=*))(sAMAccountName=shelapugin.ga))'

sAMAccountName: shelapugin.ga
Довекот вернул такую ошибку:

Код: Выделить всё

Dec 12 02:46:39 auth(default): Info: client in: AUTH	1	PLAIN	service=imap	lip=172.16.20.15	rip=172.16.20.224	lport=143	rport=46694	resp=<hidden>
Dec 12 02:46:39 auth(default): Info: ldap(shelapugin.ga,172.16.20.224): bind search: base=dc=domain, dc=ru filter=(&(objectClass=user)(!(objectClass=computer))(sAMAccountName=shelapugin.ga)(mail=*))
Dec 12 02:46:39 auth(default): Info: ldap(shelapugin.ga,172.16.20.224): no fields returned by the server
Dec 12 02:46:39 auth(default): Info: client out: OK	1	user=shelapugin.ga
Dec 12 02:46:39 auth(default): Info: master in: REQUEST	1	4226	1
Dec 12 02:46:39 auth(default): Info: ldap(shelapugin.ga,172.16.20.224): user search: base=dc=domain, dc=ru scope=subtree filter=(&(objectClass=user)(!(objectClass=computer))(sAMAccountName=shelapugin.ga)(mail=*)) fields=homeDirectory,uidNumber,gidNumber
Dec 12 02:46:39 auth(default): Info: ldap(shelapugin.ga,172.16.20.224): no fields returned by the server
Dec 12 02:46:39 auth(default): Info: master out: USER	1	shelapugin.ga
Dec 12 02:46:39 dovecot: Error: User shelapugin.ga is missing UID (see mail_uid setting)
Dec 12 02:46:39 imap-login: Info: Internal login failure (auth failed, 1 attempts): user=<shelapugin.ga>, method=PLAIN, rip=172.16.20.224, lip=172.16.20.15
Понятно, что поиск не дал результатов по данной выборке. Но поле mail у меня заполнено, что настораживает. Есть ли доки по поводу структуры лдап сервера. Как проводить подобные выборки и какие поля какими переменными определяются.
Заранее спасибо

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-12 4:27:44

Изменил выборку на:

Код: Выделить всё

user_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u))
pass_filter = (&(objectClass=user)(!(objectClass=computer))(sAMAccountName=%u))
И теперь довекот выдает такое. Попытки нагуглить адекватный ответ на эту ошибку пали крахом.

Код: Выделить всё

Dec 12 03:31:08 auth(default): Info: client in: AUTH	1	PLAIN	service=imap	lip=172.16.20.15	rip=172.16.20.224	lport=143	rport=57547	resp=<hidden>
Dec 12 03:31:08 auth(default): Info: ldap(shelapugin.ga,172.16.20.224): bind search: base=dc=domain, dc=ru filter=(&(objectClass=user)(!(objectClass=computer))(sAMAccountName=shelapugin.ga))
Dec 12 03:31:08 auth(default): Error: ldap(shelapugin.ga,172.16.20.224): Multiple replies found for user
Dec 12 03:31:10 auth(default): Info: client out: FAIL	1	user=shelapugin.ga	temp
Dec 12 03:34:08 imap-login: Info: Disconnected: Inactivity (auth failed, 1 attempts): user=<shelapugin.ga>, method=PLAIN, rip=172.16.20.224, lip=172.16.20.15

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Exim + dovecot + ldap

Непрочитанное сообщение CrazyPilot » 2009-12-12 17:50:25

Мда, multiple replies это конечно интересно. А вы приведите результаты ldapsearch для последнего фильтра. А насчет предпоследнего (где в фильте mail=* был)
Toboe писал(а):

Код: Выделить всё

Dec 12 02:46:39 dovecot: Error: User shelapugin.ga is missing UID (see mail_uid setting)
Он вам говорит, что у пользователя не uid. И запрос из userdb не вернул ни home,ни uid,ни gid,ни mailLocation. Вы можете их в user_attrs прописать...

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-15 3:33:43

В проблеме разобрался и научил довекот ходить в лдап...

Проблема с

Код: Выделить всё

Multiple replies found for user
правда так и не решилась. Другие пользователи логинятся нормально.

CrazyPilot, огромное спасибо :good:

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Exim + dovecot + ldap

Непрочитанное сообщение CrazyPilot » 2009-12-15 9:09:21

you are welcome =)

А на счет multiple replies - возможно из-за точки в sAMAccountName. Фиг знает, но вероятно что AD ее воспринимает как регулярку "любой символ", и у вас есть еще один аккаунт, удовлетворяющий этому условию.

Toboe
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-12-07 16:05:26

Re: Exim + dovecot + ldap

Непрочитанное сообщение Toboe » 2009-12-18 11:04:53

Приветствую вас снова!

Возникла следующая проблема. Поднятый почтовик является заменой тому что был - старый был в связке Dovecot + Exim + Openldap. И вот в старом лдапе учетки для почтовика не соответствуют нашей политике - логин АД = логин почтовика. Я вижу два варианта:

1. Либо использование старых учеток, дабы не мучать пользователей. Но возникает проблема с довекотом, который начинает пытаться авторизоваться под несуществующей учеткой.

2. Либо перенос всей почты со старого сервера на новый, с переходом на новые логины. Но возможно ли такое?

Надеюсь на вашу помощь, заранее спасибо