Здравствуйте!
Разные параметры связаны с тем, что они настраивают разные разделы конфигурации dovecot: passdb и userdb (посмотрите мой пример настройки dovecot
здесь). В разделе passdb настраиваются параметры аутентификации пользователей, а в разделе userdb -- параметры работы с файловой системой: расположение почтовых директорий, настроек, права доступа к файловой системе и т.п. Сведения в оба раздела можно брать из LDAP, а приведённые Вами параметры будут применяться к соответствующим разделам.
Часто аутентификацию проводят на основе сведений из какой-то БД, например, каталога LDAP, а почтовые директории настраивают так, чтобы к ним был доступ от имени одной и той же учётки UNIX (именно так сделано в примере, на который я ссылался выше). Тогда для passdb используется механизм соответствующей БД, а для userdb -- механизм static.
Теперь что касается AD.
Dovecot умеет делать просто колоссальное количество вещей и подстраиваться практически под любое окружение, поэтому для его оптимальной настройки желательно хорошо понимать своё окружение =) . Возможно, Вам совершенно необязательно цепляться к LDAP/AD в dovecot, поскольку в Linux уже настроена привязка к LDAP/AD для PAM/NSS, тогда проще и логичнее воспользоваться уже готовой привязкой и настроить
аутентификацию dovecot через PAM.
Но можно и через LDAP. AD -- такой же каталог, так что особой разницы в настройках между подключением к OpenLDAP и AD нет. Из AD нельзя извлечь пароль, но это и не нужно: аутентификация проверяется методом выполнения операции Bind, то есть привязки к каталогу. Алгоритм такой:
1. Выполняется первое подключение к каталогу от имени учётной записи с правами доступа к AD (в настройках postfix Вы указывали её и её пароль в параметрах bind_dn/bind_pw, для dovecot аналогичные параметры dn/dnpass).
2. В рамках этого подключения ищется запись каталога, соответствующая фильтру pass_filter. В качестве фильтра можно использовать тот, который Вы применяли в query_filter для postfix, только вместо шаблона %u нужно поставить шаблон %n.
3. Если запись пользователя найдена, то предпринимается попытка повторной привязки (та самая операция Bind) к каталогу от имени этой найденной записи с тем паролем, который предоставил почтовый клиент. Если такая привязка (то есть аутентификация в каталоге) прошла без ошибок, то считается, что пользователь предоставил правильный пароль и доступ к почтовым директориям в файловой системе позволяется. Если же повторная привязка к каталогу завершилась ошибкой, то доступ к почтовым директориям не позволяется. Логика простая.
В Вашем случае будет примерно такая картина:
dovecot.conf:
passdb {
driver = ldap
args = /etc/dovecot/dovecot-ad-bind-auth.conf
}
/etc/dovecot/dovecot-ad-bind-auth.conf:
hosts = fdqn имя ближайшего контроллера
ldap_version = 3
dn = cn=учетка,cn=Users,dc=домен,dc=домен,dc=домен
dnpass = пароль
base = dc=домен, dc=домен, dc=домен
auth_bind = yes
pass_attrs = sAMAccountName=user
pass_filter = (&(objectClass=Person)(sAMAccountName=%n)(!(userAccountControl=66050)))
Что касается userdb, то тут нужно смотреть, как у вас устроена директория /var/mail/mydomain (поддиректории, права доступа к ним), но обычно механизма static вполне достаточно.
Егор