You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本中传递LDAP密码变量时身份验证失败问题排查

问题解决:ldapsearch传递变量密码时的无效凭据错误

你的问题出在变量引用的引号使用错误:脚本中-w '$LDAP_PASSWORD'用了单引号,Bash会将单引号内的内容原样输出,不会解析$LDAP_PASSWORD变量,导致ldapsearch接收到的不是真实密码,而是字符串$LDAP_PASSWORD,这才触发了“无效凭据”错误。

修正后的脚本

将单引号替换为双引号,让Bash正确解析变量:

#!/bin/bash

# Use jq to extract the password from the JSON output
LDAP_PASSWORD=$(aws secretsmanager get-secret-value --secret-id SECRET_ID --query SecretString --output text --profile PROFILE1 | jq -r '.["KEY"]') 

ldapsearch -x -H ldap://10.91.10.10 -D ldap.query@at.prod.mango.local -w "$LDAP_PASSWORD" -b "OU=mango,DC=at,DC=prod,DC=mango,DC=local" "(objectClass=computer)" cn

补充说明

  • 双引号在Bash中会解析变量,同时保留变量内容里的特殊字符(比如你的示例密码)AB#2Mn!5!1a中的括号、感叹号、井号)作为一个整体传递给ldapsearch,避免被Shell拆分或转义。
  • 如果密码包含双引号这类极端特殊字符,也可以直接去掉引号写成-w $LDAP_PASSWORD,但双引号的方式兼容性更强,是更稳妥的选择。

内容的提问来源于stack exchange,提问作者zexapod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:52:13