Приветствую всех!
При авторизации из АД возникла проблема.
Имеем АД. Домен kontora.com
Пользователи домена которые будут использовать почту, лежат в разных группах и юнитах, так уж заведено было изначально.
Так вот проблема получается такая, настраиваю postfix для авторизации через АД. Создаю файл подключения: /etc/postfix/ad_sender_login_maps.cf
server_host = kontora.com
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = vmail
bind_pw = password_of_vmail
search_base = dc=kontora,dc=com
scope = sub
query_filter = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel = 0
Тестирую:
postmap -q user1@kontora.com ldap:/etc/postfix/ad_sender_login_maps.cf
Получаю ответ:
user1@kontora.com
user1 находиться в юните "Отдел 1" в корне домена kontora.com
Тестирую:
postmap -q user2@kontora.com ldap:/etc/postfix/ad_sender_login_maps.cf
Получаю ответ:
user2@kontora.com
user2 находиться в юните "Отдел 2" в корне домена kontora.com
Уточняю: user1 и user2 находятся в разных юнитах относительно корня домена и postfix когда ищет пользователя начинает искать его от корня домена перебирая все юниты.
И теперь столкнулся с проблемой, что dovecot не ищет пользователей от корня домена, а только от одного юнита.
Т.е. создаю файл подключения: /etc/dovecot/dovecot-ldap.conf
hosts = kontora.com:389
ldap_version = 3
auth_bind = yes
dn = vmail
dnpass = passwd_of_vmail
base = dc=kontora,dc=com
scope = subtree
deref = never
user_filter = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs = userPassword=password
default_pass_scheme = CRYPT
user_attrs = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/
Пытаюсь подключиться к ящику клиентом и идет отлуп. Т.е. пользователь не может быть найден.
Но только стоит поправить строку подключения с
base = dc=kontora,dc=com
на
base = ou=Отдел 1,dc=kontora,dc=com
и при условии, что например user1 будет находиться в юните Отдел 1, тогда dovecot производить нормальную авторизацию.
Так вот вопрос, почему postfix нормально производит поиск пользователей по всему домену от его корня, а dovecot начинает искать только если пользователи находятся в юните. Как заставить довекот искать пользователей от корня домена?
Либо хотя бы делать поиск в группе, к которой будут привязаны почтовые пользователе, т.к. это тоже не получилось реализовать.