ldapsearch 密码文件格式

Pao*_*sco 20 linux ldap

我应该如何传递密码以ldapsearch使用该-y <password file>选项?
如果我以纯文本形式在密码文件中写入密码,则会出现此错误:

ldap_bind: Invalid credentials (49)
    additional info: 80090308: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 52e, v1772
Run Code Online (Sandbox Code Playgroud)

如果我使用该-w <password>选项,也会发生同样的情况。

编辑
我正在运行的命令是

ldapsearch -x -D <my dn> -y .pass.txt -h server.x.x -b "dc=x,dc=y" "cn=*"
Run Code Online (Sandbox Code Playgroud)

文件.pass.txt包含我的密码的地方,以纯文本形式。DN 和密码都正确。如果我使用该-W选项运行命令并在提示符下键入密码,则该命令会成功运行,但我想以某种方式存储密码以制作脚本。

sys*_*138 24

请记住,ldapsearch 将使用文件的全部内容作为密码——这意味着它将包含一个终止换行符(如果存在)。要验证这是否确实是您的问题,请尝试创建一个没有文件的文件:

echo -n ThisIsaBadPassword > .pass.txt
Run Code Online (Sandbox Code Playgroud)

更新:包括'-n')

  • 不,不会。您需要 `echo -n` 或 `printf` 以避免换行。 (2认同)