consulta Ldapsearch

0

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

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

Pode o sAMAccountName ser feito para se referir a toda a minha lista de usuários (que é um arquivo de texto separado) de uma só vez? Se não, podemos simplesmente colocar este comando em um script e deixar o usuário inserir seu sAMAccountName e verificar se eles existem no AD?

Qualquer opinião sobre isso ...

    
por maneeshshetty 18.09.2012 / 18:00

2 respostas

0

Eu posso não entender isso claramente, mas se você quiser colocá-lo em um script, você pode escrever um script 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
    
por 18.09.2012 / 18:35
0

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 é (& ... ) .

    
por 18.09.2012 / 20:35