LDAP: Pesquisa LDAP com o ldapsearch: Difference between revisions

From Wiki
(New page: Para que a autenticação ao seu servidor LDAP, seja mais rápida ou com mais opções de login, uma dica é utilizarmos a ferramenta ldapsearch para realizar a query em um servidor LDAP. ...)
 
No edit summary
Line 43: Line 43:
   "(&(!(objectClass=computer))(sAMAccountName=''fulano''))"
   "(&(!(objectClass=computer))(sAMAccountName=''fulano''))"
   ''cn''
   ''cn''
== {{Ver também}} ==
* [[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]
* [[Pesquisa LDAP com o ldapsearch]]
* [[LDAP: Listando Atributos com o ldapsearch]]
[[Categoria:!Livro de estilo|Notas Rodape]]

Revision as of 17:16, 4 February 2013

Para que a autenticação ao seu servidor LDAP, seja mais rápida ou com mais opções de login, uma dica é utilizarmos a ferramenta ldapsearch para realizar a query em um servidor LDAP.


O teste feitos para este post estão em produção envolvendo o Microsoft Active Directory, Lotus Quickr Java e Lotus Sametime, logo os comandos abaixo estão bem funcionais para este ambiente.

Comentários

  • Você pode simplificar a query se quiser, deixando apenas o login do usuário que é o campo sAMAccountName
  • Um padrão poderia ser o email da pessoa [email protected], mas é necessário que o AD tenha essa informação populada em um campo
  • Não devemos utilizar objectClass=organizationalPerson, pois o AD atribui esse informação para computadores também. Para que retorne apenas pessoas adicionamos (!(objectClass=computer))
  • Crie um arquivo shell ou bat para utilizar o comando, pois não pode haver espaços ou caracteres estranhos na hora de executar o comando


O comando ldap search

ldapsearch -h SERVIDOR_LDAP -p 389 -b BASE_DN -D USUARIO_BIND -w SENHA_USUARIO_BIND
   "(&(!(objectClass=computer))(|(cn=LOGIN_NAME)(sAMAccountName=LOGIN_NAME)(|(&(sn=LOGIN_NAME)
   (givenname=LOGIN_NAME))(&(sn=LOGIN_NAME)(givenname=LOGIN_NAME)))))" ATRIBUTO_RETORNO

onde:

  • SERVIDOR_LDAP: servidor LDAP que iremos nos conectar
  • BASE_DN: base do diretório para consulta
  • USUARIO_BIND: usuário que tem permissão de consulta
  • SENHA_USUARIO_BIND: senha deste usuário
  • LOGIN_NAME: é a string que o usuário informa para conexão
  • ATRIBUTO_RETORNO: é o atributo de retorno, normalmente o common name cn


Exemplo com dados reais

ldapsearch -h ldap.empresax.com.br -p 389 -b "DC=empresax,DC=com,Dc=br"
  -D "CN=wpsbind,OU=LOTUS,OU=TI,DC=empresax,DC=com,Dc=br" -w SenhaWPSBind 
  "(&(!(objectClass=computer))(|(cn=fulano)(sAMAccountName=fulano)
   (|(&(sn=fulano)(givenname=fulano))(&(sn=fulano)(givenname=fulano)))))"
  cn

Exemplo utilizando apenas o sAMAccountName

ldapsearch -h ldap.empresax.com.br -p 389 -b "DC=empresax,DC=com,Dc=br"
  -D "CN=wpsbind,OU=LOTUS,OU=TI,DC=empresax,DC=com,Dc=br" -w SenhaWPSBind 
  "(&(!(objectClass=computer))(sAMAccountName=fulano))"
  cn


Template:Ver também

Notas Rodape