Назад | Перейти на главную страницу

предупреждение: dict_ldap_lookup: ошибка поиска 1: ошибка операций

Пожалуйста, мне нужна помощь с поисковым фильтром ldap, чтобы использовать его для получения информации электронной почты пользователя из ldap. Я запускаю postfix_ldap сервера Ubuntu 12.04. Кажется, все работает нормально, кроме получения значений, возвращенных из поиска.

Версия 1

server_host = ldap://samba.example.com
search_base = dc=company, dc=example, dc=com
query_filter = mail=%s
bind = no
domain = example.com

Версия 2

server_host = ldap://samba.example.com
search_base = dc=company, dc=example, dc=com
query_filter = mail=%s
bind_dn = cn=Users,dc=company,dc=example,dc=com
domain = example.com

почтовые журналы

Nov 26 11:13:26 mail postfix/smtpd[19662]: match_string: example.com ~? example.com
Nov 26 11:13:26 mail postfix/smtpd[19662]: dict_ldap_lookup: No existing connection for LDAP source /etc/postfix/ldap-aliases.cf, reopening
Nov 26 11:13:26 mail postfix/smtpd[19662]: dict_ldap_connect: Connecting to server ldap://samba.example.com
Nov 26 11:13:26 mail postfix/smtpd[19662]: dict_ldap_connect: Actual Protocol version used is 3.
Nov 26 11:13:26 mail postfix/smtpd[19662]: dict_ldap_connect: Binding to server ldap://samba.example.com with dn cn=Users,dc=company,dc=example,dc=com
Nov 26 11:13:26 mail postfix/smtpd[19662]: warning: dict_ldap_connect: Unable to bind to server ldap://samba.example.com with dn cn=Users,dc=company,dc=example,dc=com: 49 (Invalid credentials)
Nov 26 11:13:26 mail postfix/smtpd[19662]: warning: ldap:/etc/postfix/ldap-aliases.cf lookup error for "tola.akintola@example.com"
Nov 26 11:13:26 mail postfix/smtpd[19662]: maps_find: virtual_alias_maps: tola.akintola@example.com: search aborted
Nov 26 11:13:26 mail postfix/smtpd[19662]: mail_addr_find: tola.akintola@example.com -> (try again)
Nov 26 11:13:26 mail postfix/smtpd[19662]: NOQUEUE: reject: RCPT from col0-omc3-s2.col0.hotmail.com[65.55.34.140]: 451 4.3.0 <tola.akintola@example.com>: Temporary lookup failure; from=<bodus458@live.com> to=<tola.akintola@example.com> proto=ESMTP helo=<col0-omc3-s2.col0.hotmail.com>
Nov 26 11:13:26 mail postfix/smtpd[19662]: > col0-omc3-s2.col0.hotmail.com[65.55.34.140]: 451 4.3.0 <tola.akintola@example.com>: Temporary lookup failure

вот еще один журнал с успешным результатом поиска, но не удалось получить значения результата

Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: Using existing connection for LDAP source /etc/postfix/ldap-aliases.cf
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: /etc/postfix/ldap-aliases.cf: Searching with filter mail=tola.akintola@example.com
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_get_values[1]: Search found 1 match(es)
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: Search returned nothing
Nov 26 12:04:56 mail postfix/smtpd[20463]: maps_find: virtual_alias_maps: tola.akintola@example.com: not found
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: In dict_ldap_lookup
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: /etc/postfix/ldap-aliases.cf: Skipping lookup of key 'tola.akintola': domain mismatch
Nov 26 12:04:56 mail postfix/smtpd[20463]: maps_find: virtual_alias_maps: tola.akintola: not found
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: In dict_ldap_lookup
Nov 26 12:04:56 mail postfix/smtpd[20463]: dict_ldap_lookup: /etc/postfix/ldap-aliases.cf: Skipping lookup of key '@example.com': domain mismatch
Nov 26 12:04:56 mail postfix/smtpd[20463]: maps_find: virtual_alias_maps: @example.com: not found
Nov 26 12:04:56 mail postfix/smtpd[20463]: mail_addr_find: tola.akintola@example.com -> (not found)

Мой улучшенный файл ldap-aliases.cf выглядит так:

server_host = ldap://samba.example.com
server_port = 3268
search_base = dc=company, dc=example, dc=com
query_filter = mail=%s
result_attribute = uid
bind_dn = cn=Administrator,cn=Users,dc=company,dc=example,dc=com
bind_pw = pass
domain = example.com

Итак, я хотел бы знать, какой фильтр ldap подходит, чтобы заставить это работать.

Спасибо за помощь.

Ниже конфиг postfix работает после некоторой настройки:

server_host = ldap://samba.example.com
server_port = 3268
search_base = dc=company, dc=example, dc=com
query_filter = (&(mail=%s))
result_attribute = 
leaf_result_attribute = mail
bind_dn = cn=Administrator,cn=Users,dc=company,dc=example,dc=com
bind_pw = passwd
domain = example.com