我正在编写一个 bash 脚本,需要 ldap 身份验证才能执行后续步骤。但是,我还没有找到一个可以对ldap进行auth并返回用户名和密码是否正确的工具。是否有现有的程序可以帮助我做到这一点?
脚本就像
read USERNAME
read -s PASSWD
LDAP_AUTH_RESULT="$(<ldapauth> <USERNAME> <PASSWD/prompt-passwd>)"
if [[ $LDAP_AUTH_RESULT == "$SUCCESS_FLAG" ]]; then
<things to do>
fi
答案1
感谢@cutrightjm 在评论中提供的提示。目前我正在使用这样的脚本
#!/bin/bash
printf "Enter LDAP Username:"
read USERNAME
DN=$(ldapsearch -x -H ldaps://ldap.example.com -s sub "uid=${USERNAME}" | grep 'dn: ' | sed 's/dn: //g')
ldapsearch -H ldaps://ldap.example.com -D "${DN}" -W > /dev/null
EXITCODE=$?
if [[ ${EXITCODE} -eq 0 ]]; then
echo "Auth success"
else
echo "Auth failed"
exit ${EXITCODE}
fi
经过测试可以正常工作,但不确定是否存在任何安全问题。