Dovecot ldap AD

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kind21
рядовой
Сообщения: 23
Зарегистрирован: 2007-11-25 20:34:18

Dovecot ldap AD

Непрочитанное сообщение kind21 » 2009-07-30 7:58:25

Народ помогите.
Бьюсь с настройкой сабжа.

Имею конфиги
dovecot.conf

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

  # LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
  passdb ldap {
    args = /usr/local/etc/dovecot-ldap.conf
  }

  # LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
  userdb ldap {
    args = /usr/local/etc/dovecot-ldap.conf
  }

  user = root
  #count = 1
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = mailnull
      group = mail
     }
}
dovecot-ldap.conf

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

hosts = 192.168.0.7
#uris = ldap://192.168.0.7:3268
dn = CN=exim,CN=Users,DC=corp,DC=newslab,DC=ru
dnpass = 1234
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=corp, dc=example, dc=ru
#deref = searching
scope = subtree

user_attrs = uidNumber=mailnull,gidNumber=mail,homeDirectory=home=/var/mail/%$
user_filter = (&(objectClass=user)(name=%u))
pass_attrs = name=user
pass_filter = (&(objectClass=user)(name=%u))
#pass_filter = (&(objectClass=user)(sAMAccountName=%n))
#default_pass_scheme = PLAIN
При авторизации в логи получаю:

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

Jul 30 12:49:16 mail dovecot: auth(default): client in: AUTH    1       PLAIN   service=imap    lip=192.168.0.2 rip=192.168.0.110    lport=143       rport=53926
Jul 30 12:49:16 mail dovecot: auth(default): client out: CONT   1
Jul 30 12:49:16 mail dovecot: auth(default): new auth connection: pid=24773
Jul 30 12:49:16 mail dovecot: auth(default): client in: CONT    1       AGFkaW4AMTIzNA==
Jul 30 12:49:16 mail dovecot: auth(default): ldap(adin,192.168.0.110): bind search: base=cn=users, dc=corp, dc=example, dc=ru filter=(&(objectClass=user)(name=adin))
Jul 30 12:49:16 mail dovecot: auth(default): ldap(adin,192.168.0.110): result: name(user)=adin
Jul 30 12:49:16 mail dovecot: auth(default): client out: OK     1       user=adin
Jul 30 12:49:16 mail dovecot: auth(default): master in: REQUEST 1       24769   1
Jul 30 12:49:16 mail dovecot: auth(default): ldap(adin,192.168.0.110): user search: base=cn=users, dc=corp, dc=example, dc=ru scope=subtree filter=(&(objectClass=user)(name=adin)) fields=uidNumber,gidNumber,homeDirectory
Jul 30 12:49:16 mail dovecot: auth(default): ldap(adin,192.168.0.110): result: homeDirectory(home=/usr/local/etc/mail/exmaple.ru/test@example.ru)=123 uidNumber(mailnull)=26 gidNumber(mail)=26
Jul 30 12:49:16 mail dovecot: auth(default): master out: USER   1       adin    home=/usr/local/etc/mail/example.ru/test@example.ru=123        mailnull=26     mail=26
Jul 30 12:49:16 mail dovecot: User adin is missing UID (see mail_uid setting)
Jul 30 12:49:16 mail dovecot: imap-login: Internal login failure (auth failed, 1 attempts): user=<adin>, method=PLAIN, rip=192.168.0.110, lip=192.168.0.2
Поможите решить проблему..

Хостинговая компания 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/

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: Dovecot ldap AD

Непрочитанное сообщение atrium » 2009-07-30 8:05:56

Точно рабочий конфиг, у меня пашет!!!
#-------------------------------------------
# Name: Dovecot and AD
# Author: atrium (sysatrium)
# Copyright: atrium (sysatrium), 02.06.2009
#-------------------------------------------
#----version: 1.0----modify: 02.06.2009-----

# IP ADC (контроллер домена)
#
hosts= 192.168.1.1
ldap_version = 3

# Авторизоваться
#
auth_bind= yes

# Login
#
dn= CN=user,CN=Users,DC=oskol,DC=impexbank,DC=ru

# Password
#
dnpass= user

# Дерево в котором будет производиться поиск
#
base= CN=Users,DC=oskol,DC=impexbank,DC=ru

# Поиск в поддеревьях
#
deref=searching
scope=subtree

# Параметры пользователя
# Домашний каталог пользователя равен его e-mail адресу
# Получить домашний каталог можно через %h в dovecot.conf
#
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.conf
# Путь к почтовому ящику
#
mail_location=maildir:/var/mail/vhost/oskol.impexbank.ru/%h/

kind21
рядовой
Сообщения: 23
Зарегистрирован: 2007-11-25 20:34:18

Re: Dovecot ldap AD

Непрочитанное сообщение kind21 » 2009-07-30 10:46:14

с твоим конфигом та же ошибка:

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

mail dovecot: User adin is missing UID (see mail_uid setting)
Насколько понимаю что-то про юид пользователя.
изначально настраивал по статье лиссяры exim+dovecot.

Не пойму куда копать...

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: Dovecot ldap AD

Непрочитанное сообщение atrium » 2009-07-30 11:21:30

какая версия dovecot?

Необходимо создать пользователя, который будет владельцем каталога с почтой

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

mail_location=maildir:/var/mail/vhost/oskol.impexbank.ru/%h/
И от этого пользователя будут создаваться почтовые ящики.

Т.е необходимо в параметр mail_uid=вписывается uid юзера, который владеет каталогом vhost/oskol.impexbank.ru

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Dovecot ldap AD

Непрочитанное сообщение Alex Keda » 2009-07-30 11:22:18

читать хоть кто-то из вас умеет?
> see mail_uid setting
Убей их всех! Бог потом рассортирует...

kind21
рядовой
Сообщения: 23
Зарегистрирован: 2007-11-25 20:34:18

Re: Dovecot ldap AD

Непрочитанное сообщение kind21 » 2009-07-31 6:42:46

Вроде заработало, в таком варианте:
dovecot.conf

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

auth default {
  mechanisms = plain
  passdb ldap {
    args = /usr/local/etc/dovecot-ldap.conf
  }
  userdb static {
    args = uid=26 gid=26 home=/usr/local/etc/mail/%u
  }
dovecot-ldap.conf

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

hosts = 192.168.0.7:389
dn = CN=exim,CN=Users,DC=corp,DC=newslab,DC=ru
dnpass = 1234
debug_level = 0
auth_bind = yes
ldap_version = 3
base = ou=test,dc=corp,dc=newslab,dc=ru
deref = searching
scope = subtree
pass_filter = (&(objectClass=user)(sAMAccountName=%u))
pass_attrs = mail=home
Не пойму только следующих моментов:
1. Не могу сделать в качестве базовой директории ou с русским названием.
Например так: base=ou=Пользователи,dc=corp,dc=newslab,dc=ru.
Полльзователь adin в данной ou существует.
В логах пишет

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

 client out: CONT   1
dovecot: auth(default): client in: CONT    1       AGFkaW4AMTIzNA==
dovecot: auth(default): ldap(adin,192.168.0.110): bind search: base=ou=Пользователи,dc=corp,dc=newslab,dc=ru filter=(&(objectClass=user)(sAMAccountName=adin))
dovecot: auth(default): ldap(adin,192.168.0.110): ldap_search((&(objectClass=user)(sAMAccountName=adin))) failed: No such object
dovecot: auth(default): client out: FAIL   1       user=adin       temp
dovecot: auth(default): client in: AUTH    2       PLAIN   service=imap    lip=192.168.0.2 rip=192.168.0.110    lport=143       rport=57109     resp=AGFkaW4AMTIzNA==
dovecot: auth(default): ldap(adin,192.168.0.110): bind search: base=ou=Пользователи,dc=corp,dc=newslab,dc=ru filter=(&(objectClass=user)(sAMAccountName=adin))
dovecot: auth(default): ldap(adin,192.168.0.110): ldap_search((&(objectClass=user)(sAMAccountName=adin))) failed: No such object
2. Если в качестве базовой директории указать корень домена:
Например так base=dc=corp,dc=newslab,dc=ru.
Пользователь adin находится в cn=Users, dc=corp, dc=newslab, dc=ru.
В логах следующее:

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

dovecot: auth(default): ldap(adin,192.168.0.110): bind search: base=dc=corp,dc=newslab,dc=ru filter=(&(objectClass=user)(sAMAccountName=adin))
dovecot: auth(default): ldap(adin,192.168.0.110): ldap_search((&(objectClass=user)(sAMAccountName=adin))) failed: Operations error
Помогите разобраться.

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: Dovecot ldap AD

Непрочитанное сообщение atrium » 2009-07-31 8:11:40

думаю что Вам необходимо 'Пользователи' либо в UTF, либо в CP1251

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

man iconv