bash - 使用变量使用 bash 自动化 ldapsearch
问题描述
我执行 ldapsearch 之类的
ldapsearch -D "cn=ldapadm,dc=test,dc=com" -w ldappasswd -b "dc=test,dc=com" objectclass=*
它工作正常。
现在我想用变量替换输入:
BASEDN="cn=ldapadm,dc=test,dc=com"
PASSWD="ldappasswd"
BINDDN="dc=test,dc=com"
ldapsearch -D "${BASEDN}" -w "${PASSWD}" -b "${BINDDN}" objectclass=*
但我得到一个
ldap_bind: Invalid credentials (49)
错误...这里有问题的部分是 PASSWD 替换。其他两个替换工作正常。
我在 VirtualBox 上使用 CentOS7。密码不包含特殊字符。
我在这里想念什么?
解决方案
你可以使用 echo -n "password-here" > password_file
或者,设置为环境变量
read -s "password" read -s -p "password:" 密码密码:在此处输入密码 echo -n $password | ldapsearch -LLL -D cn=whatever,o=whateverelse -y /dev/stdin
推荐阅读
- php - 如何在php中包含来自另一台服务器的文件并在另一台服务器中处理?
- javascript - 如何在 ionic 3 中实现 LinkedIn 登录?为什么链接登录不起作用?
- python - 当它们看起来像 3-D 数组时如何平衡数据?
- unicode - (问号) � 而不是旧页面上的 ÅÄÖ
- android - 无车身改装要求
- java - 我在哪里可以找到 Java 源代码来为基于 Java 的提前编译器进行去虚拟化和内联基准测试?
- c# - 如何连接两个航点系统?
- c++ - 获取 malloc 之前(大致)有多少可用内存
- tensorflow - 在 TensorFlow 中为 CPU 设置内存限制
- reactjs - 在挂载时提供 React 组件动画