consulta ldapsearch

consulta ldapsearch

Tengo alrededor de 10 usuarios a los que se les ha dado acceso a una aplicación específica que utiliza autenticación AD.

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

¿Se puede sAMAccountNamehacer que haga referencia a mi lista completa de usuarios (que es un archivo de texto separado) a la vez? Si no, ¿podemos simplemente poner este comando en un script y permitir que el usuario ingrese el suyo sAMAccountNamey verifique si existe en AD?

Tiene alguna idea sobre esto...

Respuesta1

Puede que no entienda esto claramente, pero si desea ponerlo en un script, puede escribir un script bash como el siguiente para solicitar un nombre de cuenta.

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

Respuesta2

Su script deberá crear un filtro LDAP adecuado con todos los nombres de usuario:

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

Por ejemplo:

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

(| ... )es O en LDAP. El operador Y es (& ... ).

información relacionada