具有-y选项的ldapsearch抛出“无效凭证”错误

时间:2020-04-15 01:19:51

标签: linux bash macos ldap

我在Mac上的$HOME/.ldap_pw中保留了LDAP密码。该文件的权限设置为600:

-rw-------  1 myself  mygroup  18 Mar 27 17:20 .ldap_pw

当我使用ldapsearch这样的选项调用-y时,列出组mygroup的成员

ldapsearch -y "$HOME/.ldap_pw" -H ldaps://ldap.mycompany.com -D myself@mycompany.com -W -b DC=mycompany,DC=com -x '(&(objectcategory=Group)(cn=mygroup))'

我收到此错误:

ldap_bind: Invalid credentials (49)
    additional info: 80090308: LdapErr: DSID-0C090442, comment: AcceptSecurityContext error, data 52e, v3839

文件中存储的密码正确。另外,上面的命令在没有提示输入密码的情况下运行-y选项时也可以正常运行。

这是怎么回事?

我在运行RedHat 7.6的Linux机器上遇到相同的错误。

2 个答案:

答案 0 :(得分:3)

鉴于错误,这意味着用户名有效但密码无效(请参见ldapwiki.com),以及-y使用文件的完整内容这一事实(请参见ldapsearch documentation),我怀疑您的密码文件中的内容有误。也许在文件末尾是“行尾”字符。

答案 1 :(得分:1)

我认为SmartTom对文件中多余字符的猜测是一个很好的猜测。尝试运行hd ~/.ldap_pw(例如h ump d,以查看文件的确切内容;如果后面有0a(换行符)字符或其他意外字符可以确认问题,那么

vim这样的编辑器会在文本文件中隐式添加尾随换行符,您可以在打开文件时disable,也可以直接remove trailing whitespace

相关问题