BashでLDAPを確認する方法は?

BashでLDAPを確認する方法は?

以降のステップでは、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

動作テストを行いましたが、セキュリティ上の問題があるかどうかはわかりません。

おすすめ記事