Pular para o conteúdo
Início » Blog » Como verificar grupos de acesso AD no Linux?

Como verificar grupos de acesso AD no Linux?

Quando começamos um novo emprego ou mudamos de setor, um dos clássicos desafios é conseguir todos os acessos necessários para podermos trabalhar. Mesmo, às vezes, previamente mapeados, os perfis de acesso costumam ser bem complexos sobretudo quando atuamos em múltiplos projetos. Neste post eu vou te dar uma dica do uso do utilitário linux ldapsearch para te auxiliar na investigação, solicitação e resolução de problemas de acesso relacionado a grupos AD.

Grupos AD

É uma prática muito comum, sobretudo em empresas mais tradicionais e de grande porte, usar grupos Active Directory (AD) para controle de acesso a recursos de sistema e sua utilização vai muito além do mundo Windows. Os grupos AD podem ser usados, por exemplo, para conceder acesso a volumes de rede não importa o protocolo (CIFS, SMB, NFS…) além de diversas aplicações/sistemas web internos e soluções de mercado.

No parágrafo anterior e na vida profissional, costumamos usar o termo “grupo AD” indistintamente. Porém, tecnicamente, o Active Directory é uma solução Microsoft que implementa o protocolo LDAP além de prover outras funcionalidades. O LDAP em si é um protocolo aberto para serviço de diretório possuindo várias implementações e ferramentas em diferentes sistemas operacionais.

Tanto para casos simples de solicitação de acesso quanto para resolver conflitos e demandar correções necessárias de perfis, a habilidade de listar os grupos AD de um determinado usuário é fundamental.

LDAP search

O ldapsearch é um utilitário linux normalmente presente nos repositórios padrão do sistema. Sua instalação é simples, basta usar o gerenciador de pacotes de sua distribuição para descobrir o nome e instalar o pacote correspondente. Segue um exemplo no ubuntu:

# apt-file search /usr/bin/ldapsearch
  ldap-utils: /usr/bin/ldapsearch
# apt-get update
# apt-get install ldap-utils

O utilitário é bem completo e você pode conferir todos seus parâmetros e utilização no manual (man ldapsearch). Porém, para esse post, nós vamos nos limitar à tarefa de listar os grupos AD de um dado usuário. Segue abaixo um exemplo de execução:

$ ldapsearch -x -H ldap://j3mtech.com -b "ou=Users,dc=j3mtech,dc=com" "(userPrincipalName=contato@j3mtech.com)"
  • -x => usar autenticação simples (no nosso caso, uma consulta anônima)
  • -H ldap://j3mtech.com => informar o servidor ldap (se você não sabe use o nome do domíno)
  • -b “ou=Users,dc=j3mtech,dc=com” => limitar o diretório de pesquisa (não é obrigatório, mas otimiza enormemente a pesquisa principalmente em uma grande organização)
  • “(userPrincipalName=joao-paulo.tonelli@j3mtech.com)” => o critério da pesquisa em si (nesse caso estamos pesquisando a conta do usuário pelo email [userPrincipalName]. Uma alternativa seria pesquisar pelo seu login windows se for o caso [sAMAccountName])

Atenção: Seu host linux deve estar conectado na rede interna de sua empresa seja diretamente ou via VPN para poder acessar o servidor LDAP.

Como resultado, você obterá todas as informações presentes no AD para a conta do usuário em questão:

#
# LDAPv3
# base <ou=Users,dc=j3mtech,dc=com> with scope subtree
# filter: (userPrincipalName=joao-paulo.tonelli@j3mtech.com)
# requesting: ALL
#

# joao-paulo.tonelli@j3mtech.com, Users, j3mtech.com
dn: cn=Joao Paulo Tonelli,ou=Users,dc=j3mtech,dc=com
userPrincipalName: joao-paulo.tonelli@j3mtech.com
...
memberOf: cd=Admin,ou=Groups,dc=j3mtech,dc=com
memberOf: cd=M365,ou=Groups,dc=j3mtech,dc=com
...

O que nos interessa no nosso cenário são os grupos os quais o usuário pertence, isto é, todas as entradas memberOf da consulta. No exemplo fictício acima, verificamos que o usuário pertence apenas aos grupos Admin e M365.

Tática clássica

Para resolver os casos mais complexos de acesso, a tática clássica consiste em listar todos os grupos AD do usuário com problema e compará-los com os grupos de seu colega de trabalho mais próximo em termos de perfil cujo acesso esteja correto. Não existe receita de bolo aqui, é realmente necessário debugar grupo por grupo afin de identificar o que está faltando e o que está em excesso…

Divirta-se com o ldapsearch, ela é uma ferramenta super flexível para todo tipo de consulta em termos de LDAP. Não hesite em postar as suas dúvidas nos comentários. Até a próxima.

Marcações:

1 comentário em “Como verificar grupos de acesso AD no Linux?”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *