【问题标题】:ldapsearch with -y option throws 'Invalid credentials' error带 -y 选项的 ldapsearch 抛出“无效凭据”错误
【发布时间】:2020-07-27 21:30:24
【问题描述】:

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

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

当我像这样使用-y 选项调用ldapsearch 时,列出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 机器上遇到同样的错误。

【问题讨论】:

  • 使用-w <password> 代替-y <passwdfile> 是否会出现同样的错误?

标签: linux bash macos ldap


【解决方案1】:

我认为 SmartTom 对文件中多余字符的猜测是一个不错的猜测。尝试运行hd ~/.ldap_pw (hex dump) 以查看文件的确切内容;如果有尾随 0a(换行符)字符或其他可以确认问题的意外字符。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      相关资源
      最近更新 更多