Índice
Resumo
O LDAP é um conjunto de protocolos criado para acessar e manter diretórios de informações. O LDAP pode ser usado para vários propósitos, como gerenciamento de grupos e usuários, gerenciamento de configuração de sistema ou gerenciamento de endereços. Este capítulo fornece uma compreensão básica sobre como o OpenLDAP funciona e como gerenciar dados do LDAP com o YaST. Embora haja várias implementações do protocolo LDAP, este capítulo concentra-se inteiramente na implementação do OpenLDAP.
É crucial em um ambiente de rede manter informações importantes estruturadas e rapidamente disponíveis. Isso pode ser realizado com um serviço de diretório que, como as páginas amarelas comuns, mantém informações disponíveis em uma forma bem estruturada e rapidamente pesquisável.
No caso ideal, um servidor central mantém os dados em um diretório e os distribui a todos os clientes usando um determinado protocolo. Os dados são estruturados de forma a permitir que uma ampla variedades de aplicativos os acessem. Desta forma, não é necessário para cada ferramenta de calendário e cliente de e-mail manter seu próprio banco de dados—um repositório central pode ser acessado em vez disso. Isso reduz bastante o esforço de administração para as informações. O uso de um protocolo padronizado e aberto como o LDAP garante que muitos aplicativos de cliente diferentes possam acessar tais informações.
Um diretório neste contexto é um tipo de banco de dados otimizado para pesquisa e leitura rápida e efetiva:
Para possibilitar vários acessos de leitura (simultâneos), o acesso de gravação está limitado a um pequeno número de atualizações pelo administrador. Bancos de dados convencionais são otimizados para aceitar o mais amplo volume de dados possível em um período curto de tempo.
Como acessos de gravação só podem ser executados de forma restrita, um serviço de diretório é usado para administrar, em sua maioria, informações estáticas, sem alterações. Dados em um banco de dados convencional normalmente são alterados com freqüência (dados dinâmicos). Números de telefone em um diretório de empresa não são alterados com tanta freqüência como, por exemplo, os números administrados em contabilidade.
Quando dados estáticos são administrados, atualizações dos conjuntos de dados existentes são muito raras. Ao trabalhar com dados dinâmicos, especialmente relativos a conjuntos de dados como contas de banco ou contabilidade, a consistência dos dados é de importância fundamental. Se um valor deve ser subtraído de um local para ser adicionado a outro, ambas as operações devem ocorrer simultaneamente, em uma transação, para garantir o equilíbrio sobre o estoque de dados. Bancos de dados suportam estas transações. Diretórios não suportam estas transações. Inconsistências de curto prazo dos dados são aceitáveis em diretórios.
O design de um serviço de diretório como o LDAP não é criado para suportar mecanismos de consulta ou atualização complexa. Todos os aplicativos acessando este serviço devem obter acesso de forma rápida e fácil.
Vários serviços de diretório existiram previamente e ainda existem no Unix e fora dele. Novell NDS, Microsoft ADS, Banyan's Street Talk e o OSI standard X.500 são apenas alguns exemplos. O LDAP foi originalmente planejado como uma versão menor do DAP, o protocolo de acesso de diretório, que foi desenvolvido para acessar o X.500. O padrão do X.500 regula a organização hierárquica de entradas de diretório.
O LDAP é uma versão menor do DAP. Sem perder a hierarquia de entrada do X.500, beneficie-se das capacidades de plataforma cruzada do LDAP e salve recursos. O uso de TCP/IP facilita o estabelecimento de interfaces entre um aplicativo de acoplagem e o serviço LDAP.
O LDAP, enquanto isso, evoluiu e é usado cada vez mais como uma solução independente sem o suporte do X.500. O LDAP suporta referências com o LDAPv3 (a versão de protocolo no pacote openldap2), possibilitando ter bancos de dados distribuídos. O uso de SASL (autenticação simples e camada de segurança) também é novo.
O LDAP não está limitado a consultar dados dos servidores X.500, como foi planejado originalmente. Há um servidor de código aberto slapd, que pode armazenar informações de objetos em um banco de dados local. Há também uma extensão chamada slurpd, que é responsável por replicar vários servidores LDAP.
O pacote openldap2 consiste em:
Um servidor LDAPv3 independente que administra informações de objeto em um banco de dados baseado em BerkeleyDB.
Este programa habilita a replicação de modificações aos dados no servidor LDAP local para outros servidores LDAP instalados na rede.
slapcat, slapadd, slapindex
O administrador do sistema Unix tradicionalmente usa o serviço NIS para resolução de nomes e distribuição de dados em uma rede. Os dados de configuração contidos nos arquivos em /etc e os diretórios group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc e services são distribuídos por clientes em toda a rede. Estes arquivos podem ser mantidos sem maior esforço pois são arquivos de texto simples. O tratamento de grandes quantidades de dados, porém, torna-se mais difícil devido a estrutura não existente. O NIS é criado somente para plataformas Unix, o que torna o seu uso como administrador de dados central em uma rede heterogênea impossível.
Ao contrário do NIS, o serviço LDAP não está restrito a redes Unix puras. Servidores do Windows (do 2000) suportam o LDAP como um serviço de diretório. A Novell também oferece um serviço LDAP. Tarefas de aplicativo mencionadas acima são suportadas adicionalmente em sistemas não-Unix.
O princípio LDAP pode ser aplicado a qualquer estrutura de dados que deva ser administrado de forma central. Alguns exemplos de aplicativos são:
Utilização como substituto do serviço NIS
Rota de correio (postfix, sendmail)
Blocos de endereços para clientes de correio, como Mozilla, Evolution e Outlook
Administração de descrições de zona para um servidor de nomes BIND9
Autenticação do usuário com Samba em redes heterogêneas
Esta lista pode ser estendida pois o LDAP é extensível, ao contrário do NIS. A estrutura hierárquica claramente definida dos dados facilita a administração de grandes quantidades de dados, pois pode ser pesquisada de forma melhor.