Lembrando que antes de fazer a instalação, verifique se sua distribuição já não possui o pacote de instalação. Caso não tenha, ficam aqui os passos a serem seguidos para baixar, compilar e instalar o OpenLDAP. Não esqueça sempre de baixar e instalar de sites oficiais. No nosso caso, use o site oficial do OpenLDAP.Há tambem a opção de baixar o Guia do Administrador
Abaixo como compilar e instalar o OpenLDAP da última versão disponível em outubro de 2021.
# cd /usr/src
# tar -xf openldap-2.5.8.tgz
# cd openldap-2.5.8
# ./configure –with-threads –with-tls
# make depend
# make
# make install
Se você utiliza o Debian poderá instalar os pacotes como este comando:
# apt-get install slapd ldap-utils
Mas, atenção, durante a instalação, você deverá criar uma senha para usuário admin. Isto é apenas um detalhe para o inicio da configuração da instalação.
Desde momento em diante irá começar a configuração do servidor, onde serão definidos o conteúdo que será armazenado, como será armazenado e em qual formato, e também a senha para acessar o servidor.
Para realizar esta configuração, deve ser utilizado um editor de texto e criar o arquivo com configurações com o nome de slapd.conf que está localizado no diretório etc/ldap. Primeiramente deve-se definir a base de dados a ser utilizada, neste exemplo vamos utilizar o formato BDB, junto será definido uma senha também para o administrador desta base de dados, abaixo configuração do arquivo (SUNGAILA, 2008, p. 28).
Abaixo o conteúdo do arquivo baseado :
# /etc/ldap/sldap.conf
# Versão de protoclo utilizado para conexão pelo clientes
allow bind_v2
# Schema e definições de classes de objeto
include/etc/ldap/schema/core.schema
include/etc/ldap/schema/cosine.schema
include/etc/ldap/schema/nis.schema
include/etc/ldap/schema/inetorgperson.schema
# Arquivos de controle dos processos do servidor
pidfile/var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.pid
# Modulos
modulepath /usr/lib/ldap
moduleload back_bdb
# Parâmetros especificos do tipo de base
backend bdb
# Base de dados
database bdb
# Estrutura de diretório e administrador
suffix “dc=empresa,dc=com,dc=br
rootdn “cn=Manager,dc=empresa,dc=com,dc=br
rootpw senhasecreta
# Local armazenamento de dados
directory /var/lib/ldap
Significado dos iténs do arquivo:
| Entrada | Significado |
|---|---|
| include | inclusão de arquivos com tipo de dados |
| pidfile | contém o número do processo slapd |
| argsfile | contém argumentos passados ao servidor na inicialização |
| modulepath | local dos módulos para o backends para armazenamento de dados |
| moduleload | carga do módulo para o backend |
| backend | definição de parametros para o backend BDB |
| database | definição do database com informações do OpenLDAP na base Berkeley DB |
| suffix | parte da estrutura que definirá a hierarquia que serão armazenados o serviço de diretório |
| rootdn | administrador da base, não é o mesmo root do sistema, geralmente usado Manager ou admin |
| rootpw | senha de acesso ao servidor LDAP, devendo ser usado slappasswd para criptografar a senha |
| directory | localização dos arquivos binários com a base do servidor |
Sabemos que o LDAP não possue um gerenciador que possamos manibular tabelas como em um banco de dados. Para podermos manipular os dados, são criados arquivos textos, estes são utilizados para inserir novos dados na base, chamamos estes arquivos de LDIF. Para criarmos um arquivo LDIF devemos utilizar um editor de textos para criação do mesmo com o seguinte conteúdo (SUNGAILA, 2008, p. 32):
# arquivo empresa.ldif
dn: dc=empresa,dc=com,cd=br
objectClass: dcObject
objectClass: organization
o: Empresa Ltda
dc: empresa
Após criar o arquivo, este deve ser incluido na base, para fazermos isto, devemos utilizar o comando _ldapadd_ que deve ser executado como administrador.
Abaixo o comando a ser utilizado:
$ ldapadd -x -D “cn=Manager,dc=empresa,dc=com,dc=br” -W -f empresa.ldif
Enter LDAP Password:
adding new entry “dc=empresa,dc=com,dc=br”
Com o servidor instalado, vimos a nessecidade da manipulação de arquivos LDIF, é nele que ativamos a sincronização e, indicados alguns atributos, definimos filtros de pesquisa, bem como a configuração de usuários.
Ainda há uma série de configurações que podem ser realizadas, mas, não será tópico aqui desta pesquisa, pois estou apenas demonstrando o inicio de uma implementação deste protocolo.
No modo avançado, segundo (SUNGAILA, 2008), será possível modificar dados em um diretório, mesmo não sendo um tarefa muito comum, mas, podemos utilizar a ferramenta ldapmodify processando um arquivo LDIF que contém os dados a serem alterados. Onde podemos indicar o tipo de ação a ser realizada, podemos acrescentar atributos, remover valores de um determinado atributo, ou mesmo substituir um valor do atributo.
Além de mudanças, podemos também utilizar o LDAP numa associação com catálogo de endereços de e-mail compartilhado, não sendo mais necessário uma distribuição de uma lista para todos usuários de uma empresa contendo seus respectivos e-mails.
Completando os exemplos anteriores, podemos também utilizar schemas em diretório LDAP, que é um conjunto de regras que define atributos, classe de objetos e controles indicando onde cada dado pode ser armazenado. O protocolo LDAPv3 define um schema básico para os objetos comuns de uma rede como país, cidade, organizações, usuários, pessoas e grupos e dispositivos.
Vimos até o momento foi mostrado exemplos do que podemos realizar na base LDAP para criação de usuários com o uso de arquivos LDIF, mas, notamos que seria muito trabalhoso e pouco produtivo. Sendo assim, podemos utilizar scripts para várias etapas, tornando assim menos trabalhoso a manipulação dos dados com LDAP.
A seguir 2 exemplos de scripts, adicionando e excluindo(SUNGAILA, 2008)
#add.users_passwd.sh
#! /bin/bash
I=“1”
useradd usuario$I -p `echo usuario$I | mkpasswd -s -H md5` -m -d /home/usuario$I -c “Fulano$I da Silva”
echo “User usuario$I has been added…
I=`expr $I + 1
done
#del_users_passwd.sh
#! /bin/bash
I=“1”
while [ “$I” -lt “21” ] ; do
userdel -r usuario$I
echo “User usuario$I has been removed…”
I=`expr $I + 1`
done
O protocolo LDAP pode ser utilizado em diversas áreas, pode ser utilizado para inúmeros serviços tanto em pequenas empresas como em grandes corporações.
Na minha opinião, o OpenLDAP é uma das melhores opções, pois além de ser um software GNU, é também um protocolo que pode ser integrado com diversos serviços.
Como pode ser visto, este trabalho foi traçado com o intuito de dar uma visão geral sobre o que é o LDAP, a utilização do OpenLDAP e, consequentemente criarmos uma visão de onde partir para nos aprofundar no assunto. Com certeza a partir deste trabalho, juntamente com todas referências aqui deixadas, será possível para aquele que tiver interesse aprender mais sobre o assunto deste protocolo de grande valia para nossas redes de computadores.