LDAP - ldapwhoami 返回"ldap_bind: Invalid credentials (49)"



我是与LDAP合作的新手,我的最终目标是在Web应用程序中提供LDAP单登录。为了实现这一目标,我正在尝试运行ldapwhoami,但我遇到了问题。我能够运行其他命令,例如ldapsearchldapadd

我在Mac OS High Sierra上运行OpenDap。

我相关的slapd.conf看起来像这样:

access to *
  by self write
  by * read
  by anonymous auth
database    ldif
suffix          "dc=test,dc=com"
directory       openldap-data
rootdn          "cn=admin,dc=test,dc=com"
## rootpw = secret
rootpw          {SSHA}fFjKcZb4cfOAcwSjJer8nCGOEVRUnwCC

i然后添加了一个用ldapadd -x -w secret -f shanson.ldif的用户,其中shanson.ldif看起来像:

dn: cn=shanson,dc=test,dc=com
objectClass: inetOrgPerson
sn: Hanson
uid: shanson
cn: shanson
userPassword: secret

我成功地搜索并使用ldapsearch -x "(cn=shanson)"找到了这个新用户。

现在,我正在尝试使用ldapwhoami验证用户的凭据,并且我一直遇到错误:

> ldapwhoami -x -D cn=shanson,dc=test,dc=com -w secret
ldap_bind: Invalid credentials (49)

与我的root管理员用户相同的操作成功:

> ldapwhoami -x -D cn=admin,dc=test,dc=com -w secret
dn:cn=admin,dc=test,dc=com

我敢肯定,我只是犯了一个简单的错误或不了解我在做什么,但是我真的不知道现在还要寻找答案的地方。谢谢!

它似乎与我设置的纯文本密码有关。我安装了JXPLORER,并手动更新了用户的密码,并使用MD5进行了哈希,现在ldapwhoami命令可以使用。如果我将密码设置为JXPlorer中的纯文本,则LDAPWHOAMI仍然不起作用。除此之外,我不确定自己在做什么错。

对我来说,我的 dn是错误的。

我使用Admin凭据进行了ldapsearch以获取dn: uid=xxx,ou=xxx,dc=xxx,dc=xxx,dc=xxx

然后我做了一个ldapwhoami -x -D "uid=xxx,ou=xxx,dc=xxx,dc=xxx,dc=xxx" -w secret,它工作正常。

相关内容

最新更新