Serviço de Diretório
Um serviço de diretório permite localizar “coisas”. Uma lista telefônica é um exemplo... Ok... Muito antigo. Uma agenda telefônica pode ser um exemplo ainda válido. Um serviço de diretório armazena informações sobre todos os objetos (recursos, itens) compartilhados em uma rede, tais como arquivos, impressoras, serviços e usuários.
Um serviço é executado em um servidor. No Unix era o X.500, já obsoleto. No Windows o Active Directory (AD) e no Linux e Unix, atualmente, é o OpenLDAP.
E para haver interoperabilidade na comunicação cliente/servidor precisamos de um protocolo:
LDAP — Lightweight Directory Access Protocol (protocolo "leve" de acesso a diretório).
Os diversos objetos possuem atributos. Um conjunto de atributos é chamado de esquema. Por exemplo:
usuário
nome
senha
grupos
Usuário é o objeto. Nome é um atributo do objeto usuário. Mas há um esquema, um conjunto de atributos, para o usuário, composto por nome, senha e grupos. Também pode haver objetos com apenas um atributo como: nome da máquina e endereço IP.
No AD, além de objetos e esquemas temos os contêineres. Um contêiner pode armazenar objetos e outros contêineres. Podem ser de 3 tipos: domínio, site e unidade organizacional.
Domínio – grupo de usuários e computadores que formam uma unidade administrativa
Site – localização geográfica (local / remota)
Unidade Organizacional (UO) – contêiner que agrupa objetos com políticas de acesso idênticas (critérios como função, ou local, p.ex.). A UO existe dentro de um domínio.
Vários domínios podem estar organizados de forma hierárquica em uma árvore, formando uma relação de confiança (pais e filhos) para compartilhamento de recursos. Um conjunto de árvores forma uma floresta na nomenclatura do AD.
O protocolo LDAP é um protocolo da camada de aplicação desenvolvido para que clientes TCP/IP pudessem “conversar” com um serviço de diretório. Na época o X.500 do UNIX. Seu uso foi impulsionado pela adoção no Microsoft Active Directory.
O protocolo LDAP trabalha na porta TCP 389 e não oferece segurança. Há a versão segura, o LDAPS, que trabalha na porta TCP 636.
No mundo Linux e Unix o OpenLDAP (https://www.openldap.org/) se tornou o servidor padrão. Ele foi desenvolvido a partir de uma versão inicial da Universidade de Michigan.
O daemon principal do OpenLDAP é o slapd.
Ao trabalhar com o LDAP provavelmente você irá se deparar com o formato LDIF, que significa LDAP DAta Interchange Format, e um monte de siglas com esse aspecto: cn=nome, o=organização, ou=unidadeorganizacional, dc=componentededomínio. É interessante notar que em um domínio como "example.com" a sintaxe ficará como "dc=example, dc=com". São dois componentes para o nome de domínio no caso.
Prática💻🐧
Para um primeiro contato com o OpenLDAP para a criação de um servidor na nuvem recomendo os seguintes tutoriais:
How to setup & Configure OpenLdap in ubuntu (AWS EC2 ), de Monukumar, publicado em out/2023:
https://medium.com/@monukumar9876/how-to-setup-configure-openldap-in-ubuntu-aws-ec2-df9b7ec3287a
Este tutorial utiliza para a configuração e administração do seviço a ferramenta web phpLDAPadmin - Web based LDAP administration tool: www.phpldapadmin.org.
Gerenciamento de usuários com OpenLDAP - Revista Infra Magazine 10, publicado em set/2020:
https://www.devmedia.com.br/gerenciamento-de-usuarios-com-openldap-revista-infra-magazine-10/27416
Este tutorial é similar ao primeiro, mas utiliza a linha de comando para configurar e administrar o serviço. Sugiro seguir o primeiro e depois aproveitar este para "fazer manualmente" a inserção de usuários, buscas, etc.
E o que fazer depois!?
Acoplar seu serviço de diretório a um serviço de e-mail, compartilhamente de arquivos, impressoras, etc. Afinal, um servidor de diretório sozinho não faz muito sentido...
A segurança é fundamental, então é muito importante trabalhar com o LDAPS, a versão segura do protocolo, além de inteirar-se das boas práticas na administração do serviço.
Versão desta aula em vídeo (teoria e prática):
Referências
Deitel, H.M.; Deitel, P.J.; Choffnes D.R. Sistemas Operacionais - 3ª edição. Pearson Education. 2005.
Nemeth, E.; Snyder, G.; Hein, T.R. Manual completo de Linux: guia do administrador - 2ª Edição. Editora Pearson. 2007.
Oliveira, R.S.; Carissimi, A.S.; Toscani, S.S. Sistemas Operacionais - 4ª edição - Série Livros Didáticos do Instituto de Informática da UFRGS - Volume 11. Editora Bookman. 2010.
Voltar para Sistemas Operacionais ou Nanocurso de Linux [Especial] .
Atualizado em Jul.2024