AD 인증을 사용하는 특정 응용 프로그램 하나에 액세스 할 수있는 약 10 명의 사용자가 있습니다.
ldapsearch -p xxx -LLL -x -w test -h abc.com -D abc -b dc=abc,dc=com sAMAccountName=xyz | grep displayName
sAMAccountName
전체 사용자 목록 (별도의 텍스트 파일)을 한 번에 참조 할 수 있습니까 ? 그렇지 않은 경우,이 명령을 스크립트에 넣고 사용자 sAMAccountName
가 AD에 존재하는지 확인하고 입력 할 수 있습니까?
이것에 대한 생각은 …
답변
나는 이것을 명확하게 이해하지 못할 수도 있지만 스크립트에 넣고 싶다면 아래처럼 bash 스크립트를 작성하여 계정 이름을 물어볼 수 있습니다.
#!/bin/bash
echo -n "Please enter username to lookup: "
read USERNAME
DISPLAYNAME=`ldapsearch -p xxx -LLL -x -w test -h abc.com -D abc -b dc=abc,dc=com sAMAccountName=$USERNAME | grep displayName`
if [ -z "$DISPLAYNAME" ]; then
echo "No entry found for $USERNAME"
else
echo "Entry found for $USERNAME"
fi
답변
스크립트는 모든 사용자 이름으로 적절한 LDAP 필터를 작성해야합니다.
(|(sAMAccountName=foo)(sAMAccountName=bar)(sAMAccountName=baz))
예를 들면 다음과 같습니다.
filter="(|"
while read -r name; do
filter+="(sAMAccountName=${name})"
done
filter+=")"
(| ... )
LDAP에서 OR입니다. AND 연산자는 (& ... )
입니다.