主题: iredmail集成ad2008,怎么才能查询整个AD中的用户?

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.8.7
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):windows ad2008
- 使用的 Linux/BSD 发行版名称及版本号:centos6.5
- 与您的问题相关的日志信息:
====
请问如何配置才能查询整个AD中的所有用户和组?我现在按照官方集成AD的文档配置的只能查询一个OU的信息,其他OU的就查询不到,也无法登陆。

回复: iredmail集成ad2008,怎么才能查询整个AD中的用户?

调整查询的 base dn 即可。另外,貌似 AD 默认不允许查询根 dn,你需要查一下文档。

回复: iredmail集成ad2008,怎么才能查询整个AD中的用户?

ad_sender_login_maps.cf
ad_virtual_group_maps.cf
ad_virtual_mailbox_maps.cf
这三个文件直接配置dc=test,dc=com就可以查询整个域里面的用户,但是dovecot-ldap.conf中这样配置就不能认证通过,能不能帮我看看啊,
ad_sender_login_maps.cf如下:
server_host     = dc.test.com
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = vmail
bind_pw         = Aa123456
search_base     = dc=test,dc=cn
scope           = sub
#query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
query_filter    = (&(objectclass=person)(mail=%s))
#result_attribute= userPrincipalName
result_attribute= mail
debuglevel      = 0

ad_virtual_group_maps.cf如下:
server_host     = dc.test.com
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = vmail
bind_pw         = Aa123456
search_base     = dc=test,dc=com
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

ad_virtual_mailbox_maps.cf如下:
server_host     = dc.test.com
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = vmail
bind_pw         = Aa123456
search_base     = dc=test,dc=com
scope           = sub
query_filter    = (&(objectclass=person)(mail=%s))
result_attribute= mail
result_format   = %d/%u/Maildir/
debuglevel      = 0

dovecot-ldap.conf如下:
hosts           = dc.test.com:389
ldap_version    = 3
auth_bind       = yes
dn              = vmail
dnpass          = Aa123456
base            = cn=users,dc=test,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/

这样配只能让users中的用户登陆,但是如果改成OU=test,test是AD中新建的一个OU,OU中的用户都无法认证,另外我尝试过将OU中的用户移动到users中,同样无法认证日志是unknow user,在users中单独新建的就能认证,能不能帮我分析下

回复: iredmail集成ad2008,怎么才能查询整个AD中的用户?

634389716 写道:

另外我尝试过将OU中的用户移动到users中,同样无法认证日志是unknow user,

正常情况下只要是在 cn=users 底下的账号都可以验证。你移动到 cn=users 的这个账号本身是否带有 LDAP filter 里指定的这些 ldap 属性和值才是关键。

另外,碰到问题请打开 debug 模式帮助分析:
http://www.iredmail.com/docs/debug.dovecot.html

回复: iredmail集成ad2008,怎么才能查询整个AD中的用户?

关于AD2008不能查询根DN的问题我应该看什么文档呢?给点意见吧!谢谢!

ZhangHuangbin 写道:
634389716 写道:

另外我尝试过将OU中的用户移动到users中,同样无法认证日志是unknow user,

正常情况下只要是在 cn=users 底下的账号都可以验证。你移动到 cn=users 的这个账号本身是否带有 LDAP filter 里指定的这些 ldap 属性和值才是关键。

另外,碰到问题请打开 debug 模式帮助分析:
http://www.iredmail.com/docs/debug.dovecot.html

回复: iredmail集成ad2008,怎么才能查询整个AD中的用户?

请自行 Google, Baidu