我在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机器上遇到相同的错误。
答案 0 :(得分:3)
鉴于错误,这意味着用户名有效但密码无效(请参见ldapwiki.com),以及-y
使用文件的完整内容这一事实(请参见ldapsearch documentation),我怀疑您的密码文件中的内容有误。也许在文件末尾是“行尾”字符。
答案 1 :(得分:1)
我认为SmartTom对文件中多余字符的猜测是一个很好的猜测。尝试运行hd ~/.ldap_pw
(例如h
ump d
,以查看文件的确切内容;如果后面有0a
(换行符)字符或其他意外字符可以确认问题,那么
像vim
这样的编辑器会在文本文件中隐式添加尾随换行符,您可以在打开文件时disable,也可以直接remove trailing whitespace。