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

작동 테스트를 거쳤지만 보안 문제가 있는지 확실하지 않습니다.

관련 정보