Страница 1 из 1

Postfix + LDAP (search filters)

Добавлено: 2007-07-19 14:17:36
Norn
Всем привет!

проблема заключается в том, что простые условия работают (например ldapvirtual_query_filter = (mail=%s)), а вот условия типа ldapvirtual_query_filter = (&(mail=%s)(accountStatus=active)) нет.

в main.cf имеем:

virtual_mailbox_maps = ldap:ldapvirtual
ldapvirtual_server_host = 127.0.0.1
ldapvirtual_server_port = 389
ldapvirtual_bind = yes
##### Mega Ahtung#############
ldapvirtual_bind = yes
##### Mega Ahtung#############
ldapvirtual_version = 3
###############################
ldapvirtual_search_base = ou=mailusers,dc=it-pulse,dc=com,dc=ua
ldapvirtual_query_filter = (|(mail=%s)(accountStatus=disabled)(mailAlternateAddress=%s))
ldapvirtual_result_attribute = mailbox

письма пользователям у которых совпадает либо mail либо mailAlternateAddress проходят, а вот пользователи у которых accountStatus=disabled не проходят.
причем, если ldapvirtual_query_filter = (&(mail=%s)(mailAlternateAddress=%s)), то почта вообще не проходит.

смотрим ldapsearch:

ldapsearch -x -W -D "cn=root,dc=it-pulse,dc=com,dc=ua" '(|(mail=somemail)(mailAlternateAddress=somealias)(accountStatus=disabled))'
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (|(mail=somemail)(mailAlternateAddress=somealias)(accountStatus=disabled))
# requesting: ALL
#

# atl, mailusers, it-pulse.com.ua
dn: uid=atl,ou=mailusers,dc=it-pulse,dc=com,dc=ua
uid: atl
cn: ATL
mail: atl@atl.biz.ua
uidNumber: 1010
gidNumber: 1010
mailHost: mail.it-pulse.com.ua
homeDirectory: /var/imap/home/atl
mailMessageStore: /var/imap/home/atl/Maildir
mailbox: atl/Maildir/
objectClass: qmailUser
objectClass: CourierMailAccount
objectClass: top
objectClass: person
userPassword:: e0NSWVBUfVJRYURVWmNkcUE1SVkg
mailForwardingAddress: atl@atl.biz.ua
sn: postfix
accountStatus: disabled

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1


Заранее благодарен за помощь!

Re: Postfix + LDAP (search filters)

Добавлено: 2007-07-19 14:21:38
Norn
Norn писал(а):причем, если ldapvirtual_query_filter = (&(mail=%s)(mailAlternateAddress=%s)), то почта вообще не проходит.
ошибся. имелось ввиду ldapvirtual_query_filter = (&(mail=%s)(accountStatus=active))

из чего следует, что условие accountStatus= вообще не работает почему-то

Re: Postfix + LDAP (search filters)

Добавлено: 2007-07-20 9:30:07
Norn
Проблему решил исправив ACL в slapd.conf(убрал правила для accountStatus)
Но можно было просто в main.cf указать пользователя и пароль которые могут читать accountStatus
то есть указать ldapvirtual_bind_dn и ldapvirtual_bind_pw