LDAP: Pesquisa LDAP com o ldapsearch: Difference between revisions

From Wiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 48: Line 48:
* [[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]
* [[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]
* [[Pesquisa LDAP com o ldapsearch]]
* [[Pesquisa LDAP com o ldapsearch]]
* [[Pesquisa LDAP com o curl]]
* [[LDAP: Listando Atributos com o ldapsearch]]
* [[LDAP: Listando Atributos com o ldapsearch]]
* [[Filtros de Busca por Diretório]]




* [[Microsoft Windows|  Mais Artigos sobre Microsoft Windows]]
* [[Microsoft Windows|  Mais Artigos sobre Microsoft Windows]]
* [[Lotus Domino e Notes|  Mais artigos sobre IBM Domino e Notes]]


[[Category: IBM Domino]]
[[Category: Lotus Domino]]
[[Category: LDAP]]
[[Category: LDAP]]
[[Category: Microsoft Windows]]
[[Category: Microsoft Windows]]
[[Category:ldapsearch]]

Latest revision as of 01:13, 7 June 2019

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


Ver também