
У меня около 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 это (& ... )
.