Dovecot + OpenLDAP

我试图让dovecot 2.0.19通过LDAP(OpenLDAP 2.4.28)validation用户,并使用Wireshark来debugging过程。 它看起来像dovecot的基本configuration是好的,但它并没有把它发送到LDAP服务器的正确请求。 首先,这是我的LDAP条目的外观:

# ht dn: dc=ht objectClass: top objectClass: dcObject objectClass: organization o: ip dc: ht # admin, ht dn: cn=admin,dc=ht objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e1NTSEF9cFY1b0ZZVUhack1aRTVvaUg1T3c2cytVWHV4aUNvaHI= # people, ht dn: ou=people,dc=ht objectClass: organizationalUnit objectClass: top ou: people # groups, ht dn: ou=groups,dc=ht objectClass: organizationalUnit objectClass: top ou: groups # ipusers, groups, ht dn: cn=ipusers,ou=groups,dc=ht gidNumber: 500 cn: ipusers objectClass: posixGroup objectClass: top # Max Mustermann, people, ht dn: cn=Max Mustermann,ou=people,dc=ht cn: Max Mustermann givenName: Max gidNumber: 500 homeDirectory: /home/users/mmustormann sn: Mustermann objectClass: inetOrgPerson objectClass: posixAccount objectClass: top uidNumber: 1000 uid: mmustermann userPassword:: e01ENX1ETUYxdWNEeHRxZ3h3NW5pYVhjbVlRPT0= loginShell: /bin/bash mail: [email protected] 

现在,我使用dovecot的以下configuration:

 hosts = 10.1.2.1 dn = cn=admin,dc=ht dnpass = a auth_bind = yes auth_bind_userdn = uid=%u,ou=people,dc=ht ldap_version = 3 scope = subtree base = ou=people,dc=ht user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid user_filter = (&(objectClass=posixAccount)(uid=%u)) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=posixAccount)(uid=%u)) 

现在我在Wireshark中看到:

在这里输入图像说明

因为某种原因,鸽舍不能authentication自己。

如果我更改configuration如下:

 auth_bind = no #auth_bind_userdn = uid=%u,ou=people,dc=ht 

然后我得到以下图片:

在这里输入图像说明

它不拾起设置base = ou=people,dc=ht 。 但更重要的是,即使在整棵树"<ROOT>" wholeSubTree整个子树中"<ROOT>" wholeSubTree也找不到所需的条目。

我真的很绝望,不知道如何使它工作。 我真的只需要使它以某种方式工作。

有趣的解决scheme…但非常恼人的另一方面。 错误的是采取示例configuration文件dovecot-ldap.conf.ext ,其中一切都被注释掉。 我认为它被注释掉了。 唯一一个未注释的行是base = 。 经过两天的折磨,我发现了…

这就是为什么dovecot发送base=<ROOT>search请求的原因。 这就是为什么它不返回任何结果。 解决scheme是评论这条线。

实际configuration:

 hosts = 10.1.2.1 dn = cn=admin,dc=ht dnpass = a base = ou=people,dc=ht ldap_version = 3 scope = onelevel