尝试将用户添加到 LDAP 时收到无效凭据 (49)

Receive invalid credentials (49)when trying to add a user to LDAP

我的ldap.conf看起来像:(服务器和客户端在同一台机器上)

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt
BASE    dc=hdlldaptest,dc=net
URI     ldap://localhost

ldapsearch -x 的结果:

# extended LDIF
#
# LDAPv3
# base <dc=hdlldaptest,dc=net> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# hdlldaptest.net
dn: dc=hdlldaptest,dc=net
objectClass: top
objectClass: dcObject
objectClass: organization
o: qatest
dc: hdlldaptest

# admin, hdlldaptest.net
dn: cn=admin,dc=hdlldaptest,dc=net
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3

我尝试使用此文件添加用户:qa_test.ldif

dn: uid=qa_test,ou=users,dc=hdlldaptest,dc=net
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: qa_test
uid: qa_test
uidNumber: 16859
gidNumber: 100
homeDirectory: /home/qa_test
loginShell: /bin/bash
gecos: qa_test
userPassword: {crypt}x
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

那我运行

# ldapadd -x -W -D "cn=ramesh,dc=tgs,dc=com" -f qa_test.ldif
Enter LDAP Password:

我不知道应该使用什么密码,我试着保持原样并输入 x。添加真实密码,但每次我 运行,我都得到无效的凭据。我以为你在创建用户后添加密码。

-D选项用于绑定(使用哪个账号进行操作),所以需要提供一个有足够权限的用户对应的DN才能实现ldapadd

通常这种操作由 LDAP admin/manager 执行,在您的情况下可能 cn=admin,dc=hdlldaptest,dc=net

如果你的目录支持,你也可以使用SASL机制绑定,例如'EXTERNAL'(通常是TLS或Unix IPC):

ldapadd -Y EXTERNAL -H ldapi:/// -f qa_test.ldif