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:

Os diversos objetos possuem atributos. Um conjunto de atributos é chamado de esquema. Por exemplo:

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.

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:




E o que fazer depois!?


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