复制的 LDAP 服务器,无法绑定但可以验证密码
Replicated LDAP Server, cannot bind but can verify password
我已成功将 Zimbra LDAP 服务器复制到独立的 OpenLDAP 服务器。我计划将复制服务器用作我们内部应用程序身份验证服务的中央 LDAP 服务器。
我复制 Zimbra LDAP 所遵循的步骤是:
1. 安装新的 OpenLDAP 服务器。
2. 将所有模式定义从 Zimbra 复制到新服务器
3. 添加带有 olcSuffix 的新数据库:“”并添加复制和其他配置:
dn: olcDatabase={2}mdb,cn=config
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap1
olcSuffix:
olcDbIndex: entryUUID eq
olcDbIndex: objectClass eq
olcDbIndex: entryCSN eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid pres,eq
olcDbIndex: zimbraForeignPrincipal eq
olcDbIndex: zimbraYahooId eq
olcDbIndex: zimbraId eq
olcDbIndex: zimbraVirtualHostname eq
olcDbIndex: zimbraVirtualIPAddress eq
olcDbIndex: zimbraMailDeliveryAddress eq,sub
olcDbIndex: zimbraAuthKerberos5Realm eq
olcDbIndex: zimbraMailForwardingAddress eq
olcDbIndex: zimbraMailCatchAllAddress eq,sub
olcDbIndex: zimbraMailHost eq
olcDbIndex: zimbraMemberOf eq
olcDbIndex: zimbraShareInfo sub
olcDbIndex: zimbraSharedItem eq,sub
olcDbIndex: zimbraMailTransport eq
olcDbIndex: zimbraMailAlias eq,sub
olcDbIndex: zimbraACE sub
olcDbIndex: zimbraDomainName eq,sub
olcDbIndex: mail pres,eq,sub
olcDbIndex: zimbraCalResSite eq,sub
olcDbIndex: givenName pres,eq,sub
olcDbIndex: displayName pres,eq,sub
olcDbIndex: sn pres,eq,sub
olcDbIndex: zimbraCalResRoom eq,sub
olcDbIndex: zimbraCalResCapacity eq
olcDbIndex: zimbraCalResBuilding eq,sub
olcDbIndex: zimbraCalResFloor eq,sub
olcDbIndex: zimbraDomainAliasTargetID eq
olcDbIndex: zimbraUCServiceId eq
olcDbIndex: DKIMIdentity eq
olcDbIndex: DKIMSelector eq
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: memberUid eq
structuralObjectClass: olcMdbConfig
entryUUID: 3b19a066-8133-1036-9c54-457b17c0eeaa
creatorsName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
createTimestamp: 20170207034245Z
olcSyncrepl: {0}rid=919 provider=ldap://master.example.com type=refresh
AndPersist retry="5 5 300 +" searchbase="" attrs="*,+" bindmethod=simple bi
nddn="uid=zimbra,cn=admins,cn=zimbra" credentials=secret
olcDbMaxSize: 85899345920
olcRootDN: cn=admin,cn=config
entryCSN: 20170207042001.780092Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20170207042001Z
我已成功将所有数据从 Zimbra 复制到新的 LDAP 服务器。但我无法使用 zimbra 用户绑定到复制的服务器。例如
uid=desdulianto,ou=people,dc=example,dc=com.
ldapwhoami -vvv -x -h localhost -D uid=desdulianto,ou=people,dc=example,dc=com -W
ldap_initialize( ldap://localhost )
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
但我可以使用 Apache Directory Studio 验证密码(虽然无法绑定)。
有什么错误或者需要补充的配置吗?
谢谢。
我找到问题了,我忘记给数据库添加olcAccess配置了。所以我只是修改数据库配置并将 olcAccess 配置添加到复制的数据库中。
我已成功将 Zimbra LDAP 服务器复制到独立的 OpenLDAP 服务器。我计划将复制服务器用作我们内部应用程序身份验证服务的中央 LDAP 服务器。
我复制 Zimbra LDAP 所遵循的步骤是: 1. 安装新的 OpenLDAP 服务器。 2. 将所有模式定义从 Zimbra 复制到新服务器 3. 添加带有 olcSuffix 的新数据库:“”并添加复制和其他配置:
dn: olcDatabase={2}mdb,cn=config
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap1
olcSuffix:
olcDbIndex: entryUUID eq
olcDbIndex: objectClass eq
olcDbIndex: entryCSN eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid pres,eq
olcDbIndex: zimbraForeignPrincipal eq
olcDbIndex: zimbraYahooId eq
olcDbIndex: zimbraId eq
olcDbIndex: zimbraVirtualHostname eq
olcDbIndex: zimbraVirtualIPAddress eq
olcDbIndex: zimbraMailDeliveryAddress eq,sub
olcDbIndex: zimbraAuthKerberos5Realm eq
olcDbIndex: zimbraMailForwardingAddress eq
olcDbIndex: zimbraMailCatchAllAddress eq,sub
olcDbIndex: zimbraMailHost eq
olcDbIndex: zimbraMemberOf eq
olcDbIndex: zimbraShareInfo sub
olcDbIndex: zimbraSharedItem eq,sub
olcDbIndex: zimbraMailTransport eq
olcDbIndex: zimbraMailAlias eq,sub
olcDbIndex: zimbraACE sub
olcDbIndex: zimbraDomainName eq,sub
olcDbIndex: mail pres,eq,sub
olcDbIndex: zimbraCalResSite eq,sub
olcDbIndex: givenName pres,eq,sub
olcDbIndex: displayName pres,eq,sub
olcDbIndex: sn pres,eq,sub
olcDbIndex: zimbraCalResRoom eq,sub
olcDbIndex: zimbraCalResCapacity eq
olcDbIndex: zimbraCalResBuilding eq,sub
olcDbIndex: zimbraCalResFloor eq,sub
olcDbIndex: zimbraDomainAliasTargetID eq
olcDbIndex: zimbraUCServiceId eq
olcDbIndex: DKIMIdentity eq
olcDbIndex: DKIMSelector eq
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: memberUid eq
structuralObjectClass: olcMdbConfig
entryUUID: 3b19a066-8133-1036-9c54-457b17c0eeaa
creatorsName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
createTimestamp: 20170207034245Z
olcSyncrepl: {0}rid=919 provider=ldap://master.example.com type=refresh
AndPersist retry="5 5 300 +" searchbase="" attrs="*,+" bindmethod=simple bi
nddn="uid=zimbra,cn=admins,cn=zimbra" credentials=secret
olcDbMaxSize: 85899345920
olcRootDN: cn=admin,cn=config
entryCSN: 20170207042001.780092Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20170207042001Z
我已成功将所有数据从 Zimbra 复制到新的 LDAP 服务器。但我无法使用 zimbra 用户绑定到复制的服务器。例如 uid=desdulianto,ou=people,dc=example,dc=com.
ldapwhoami -vvv -x -h localhost -D uid=desdulianto,ou=people,dc=example,dc=com -W
ldap_initialize( ldap://localhost )
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
但我可以使用 Apache Directory Studio 验证密码(虽然无法绑定)。
有什么错误或者需要补充的配置吗?
谢谢。
我找到问题了,我忘记给数据库添加olcAccess配置了。所以我只是修改数据库配置并将 olcAccess 配置添加到复制的数据库中。