Ldap搜尋查詢

Ldap搜尋查詢

我有大約 10 位使用者被授予存取使用 AD 身份驗證的特定應用程式的權限。

ldapsearch -p xxx -LLL -x -w test -h abc.com -D abc -b dc=abc,dc=com sAMAccountName=xyz | grep displayName

可以sAMAccountName立即引用我的整個用戶清單(這是一個單獨的文字檔案)嗎?如果沒有,我們可以將此命令放入腳本中並讓使用者輸入sAMAccountName並檢查它們是否存在於 AD 中嗎?

對此有什麼想法...

答案1

我可能不太明白這一點,但如果您想將其放入腳本中,您可以編寫如下所示的 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

答案2

您的腳本必須使用所有使用者名稱建立正確的 LDAP 過濾器:

(|(sAMAccountName=foo)(sAMAccountName=bar)(sAMAccountName=baz))

例如:

filter="(|"
while read -r name; do
    filter+="(sAMAccountName=${name})"
done
filter+=")"

(| ... )在 LDAP 中是 OR。 AND 運算子是(& ... )

相關內容