Consulta Ldapsearch

Consulta Ldapsearch

Tenho cerca de 10 usuários que receberam acesso a um aplicativo específico que usa autenticação AD.

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

Pode sAMAccountNameser feito referência a toda a minha lista de usuários (que é um arquivo de texto separado) de uma só vez? Caso contrário, podemos simplesmente colocar este comando em um script e deixar o usuário inserir o seu sAMAccountNamee verificar se ele existe no AD?

Qualquer pensamento sobre isso ...

Responder1

Posso não entender isso claramente, mas se você quiser colocá-lo em um script, poderá escrever um script bash como abaixo para solicitar um nome de conta.

#!/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

Responder2

Seu script terá que criar um filtro LDAP adequado com todos os nomes de usuário:

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

Por exemplo:

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

(| ... )é OR no LDAP. O operador AND é (& ... ).

informação relacionada