AD + Postfix + Dovecot проблемы с фильтрами...

Приветствую сообщество.
Настроил связку AD + Postfix + Dovecot + Kerberos.
Это всё работает только для одного домена :(
В атрибуте пользователей mail=test@test.com, в otherMailbox=vasya@otherdoamin.com,

.... и это не алиасы.
Конфиги:
Postfix
ldap-users.cf
server_host = server
search_base = dc=cn,dc=energy
version = 3
bind = yes
bind_dn =

bind_pw = passwd

query_filter = (&(objectCategory=person)(|(mail=%s)(otherMailbox=%s))(!(userAccountControl=514)))
result_attribute = mail otherMailbox
result_format = %d/%u

dovecot-ldap.conf
hosts = server:3268
debug_level = 2
dn = ldapmail
dnpass = passwd
tls = no
auth_bind = yes
auth_bind_userdn = cn.energy\%u
ldap_version = 3
base = dc=cn, dc=energy
deref = searching
scope = subtree
user_attrs = mail=user,uid=vmail, gid=vmail
user_filter = (&(objectclass=person)(|(sAMAccountName=%n)(otherMailbox=%n))(!(userAccountControl=514)))
default_pass_scheme = CRYPT

Вывод postconf:
атрибут mail
postmap -q ross@test@test.com ldap:/etc/postfix/ldap-users.cf
another.net/petya,otherdoamin.com/vasya,test@test.com/ross
теоретически правильно нашёл, но вот вывод очень странный

атрибут otherMailbox
postmap -q

ldap:/etc/postfix/ldap-users.cf
another.net/petya,otherdoamin.com/vasya,test@test.com/ross

Естественно Dovecot не может найти директорию Mailbox.

Кто сталкивался с таким чудом ?

Большое спасибо за вашу помощь !

Покажите ldap-вывод( полный )

Покажите ldap-вывод( полный ) для данного пользователя.
И что значит подобный вызов: postmap -q ross@test@test.com ldap:/etc/postfix/ldap-users.cf ?

С уважением.

Kappac написал(а): Покажите

Kappac написал(а):
Покажите ldap-вывод( полный ) для данного пользователя.
И что значит подобный вызов: postmap -q ross@test@test.com ldap:/etc/postfix/ldap-users.cf ?

Сории это ошибка орфографическая.

ldap-вывод( полный ) - это как сделать ?

спасибо

postmap -v -q

postmap -v -q

ldap:/etc/postfix/ldap-users.cf

postmap: dict_ldap_connect: Connecting to server ldap://srv-ad.cn.energy:389
postmap: dict_ldap_connect: Actual Protocol version used is 3.
postmap: dict_ldap_connect: Binding to server ldap://srv-ad.cn.energy:389 as dn

postmap: dict_ldap_connect: Successful bind to server ldap://srv-ad.cn.energy:389 as

postmap: dict_ldap_connect: Cached connection handle for LDAP source /etc/postfix/ldap-users.cf
postmap: dict_ldap_lookup: /etc/postfix/ldap-users.cf: Searching with filter (&(objectCategory=person)(|(mail=simbios@oblr.cn.energy.gov.ua)(otherMailbox=simbios@oblr.cn.energy.gov.ua))(!(userAccountControl=514)))
postmap: dict_ldap_get_values[1]: Search found 1 match(es)
postmap: dict_ldap_get_values[1]: search returned 2 value(s) for requested result attribute otherMailbox
postmap: dict_ldap_get_values[1]: search returned 1 value(s) for requested result attribute mail
postmap: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
postmap: dict_ldap_lookup: Search returned cn.energy/system,oblr.cn.energy.gov.ua/simbios,energo.cg.ukrtel.net/ross
cn.energy/system,oblr.cn.energy.gov.ua/simbios,energo.cg.ukrtel.net/ross
postmap: dict_ldap_close: Closed connection handle for LDAP source /etc/postfix/ldap-users.cf

ldapsearch -x -D

ldapsearch -x -D "samaccountname=%your_user_name%,ou=allusers,dc=%your%,dc=%domain%" -b "dc=%your%,dc=%domain%" -h %domain_controller_ip% -W "samaccountname=%user_name%"
Это для АД.
все что между "процентами" поменяйте для Вашего случая.

Как по мне фильтр, используемый Вами, довольно великоват.
У меня немного другая архитектура, я за постфиксом держу ексчендж.
Учетная запись в АД может содержать повторяющиеся поля( пример в случае с ексчеджем ):
proxyAddresses: SMTP:user_name@domain.com
proxyAddresses: SMTP:user_name1@domain.com

В таком случае можно использовать подобный фильтр:
query_filter = (proxyAddresses=smtp:%s)

Я веду к тому, что нет необходимости держать атрибут otherMail.

С уважением.

спс

Спасибо за совет.
Я прописал в proxyAddresses два мыла.

 и 

В ldap-users.cf:
query_filter = (proxyAddresses=%s)
result_attribute = proxyAddresses
result_format = %d/%u

Ничего не изменилось.

postmap -vq  ldap:/etc/postfix/ldap-users.cf

postmap: dict_ldap_lookup: /etc/postfix/ldap-users.cf: Searching with filter (proxyAddresses=system@cn.energy)
postmap: dict_ldap_get_values[1]: Search found 1 match(es)
postmap: dict_ldap_get_values[1]: search returned 2 value(s) for requested result attribute proxyAddresses
postmap: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
postmap: dict_ldap_lookup: Search returned cn.energy/system,oblr.cn.energy.gov.ua/simbios
cn.energy/system,oblr.cn.energy.gov.ua/simbios

postmap -vq  ldap:/etc/postfix/ldap-users.cf

postmap: dict_ldap_lookup: /etc/postfix/ldap-users.cf: Searching with filter (proxyAddresses=simbios@oblr.cn.energy.gov.ua)
postmap: dict_ldap_get_values[1]: Search found 1 match(es)
postmap: dict_ldap_get_values[1]: search returned 2 value(s) for requested result attribute proxyAddresses
postmap: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
postmap: dict_ldap_lookup: Search returned cn.energy/system,oblr.cn.energy.gov.ua/simbios
cn.energy/system,oblr.cn.energy.gov.ua/simbios

Находит он всё правильно, но вот результат выводит бредовый.
мне так кажется что проблема в result_format. Комбинировал по разному, но результата не добился.

Что-то делаю не так. Вопрос что ?
Спасибо Вам за вашу помощь.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".