以降のステップでは、LDAP認証が必要なbashスクリプトを作成しています。ただし、LDAPに認証し、ユーザー名とパスワードが正しいかどうかを返すツールが見つかりませんでした。これを行うのに役立つ既存のプログラムはありますか?
スクリプトは次のとおりです。
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
動作テストを行いましたが、セキュリティ上の問題があるかどうかはわかりません。