OpenLDAP – Simples e Rápido
clodonil September 1st, 2008
Como deveria ser, o primeiro artigo que estou escrevendo é sobre OpenLDAP. A ideia não é escrever um tutorial e nem passo a passo, mas sim discutir os pontos importantes da instalação e configuração do OpenLDAP, seguinte uma seqüência logica de implantação.
O OpenLDAP é um serviço bem interessante e simples. Devido a sua simplicidade, muitos tem encontrado dificuldade no seu entendimento. O OpenLDAP é uma implementação do protocolo LDAP ( desenvolvida pela Universidade de Michigan), que nada mais é que um conjunto de regras que defini a forma que os serviços de diretórios comunica-se com os clientes.
O OpenLDAP é organizado em estrutura hierárquica que favorece a flexibilidade no armazenamento e busca das informações.
A estrutura da arvore pode ser representada por duas formas. A primeira é ao estilo X.500 que é o precursor do OpenLDAP que utiliza objetos baseados em países e departamentos. A segunda é baseado em domínios, seguindo a ideia do servidor DNS. A Figura 1, mostra a estrutura no modelo de domínio.
Figura 1 – Estrutura do LDAP
O OpenLDAP foi desenvolvida para um número muito grande de Sistemas Operacionais. Alguns desses são: Apple MacsOS X, IBM zOS, Microsoft Windows e Linux/FreeBSd.
Nos meus testes, utilize o Linux/Ubuntu-server que é baseado no Debian. A instalação é um processo rápido; basta instalar o programa slapd e ldap-utils.
# apt-get install slapd ldap-utils
As configurações do OpenLDAP resume-se no arquivo slapd.conf que normalmente fica dentro do diretório /etc/ldap/.
Podemos separar o arquivos slapd.conf em 2 partes:
-
Arquivos de schemas: O servidor não traz nenhum objeto em sua base. Todas os objetos são importados de arquivos. Portanto para utilizar um objeto é necessário que algum arquivo de schema tenha sido criado. Normalmente as aplicações enviam o arquivo de schema junto. Esse é o caso do Samba, PostFix, GOsa, DNS, entre outros. Para a nossa implementação, é necessário copiar os arquivos de schema do Gosa para /etc/ldap/schema.
-
Criação do Domínio: Outra parte importante do arquivos slapd.conf é a criação do domínio LDAP. A criação do domínio consiste em especificar o sufix que será utilizado e o administrador da base.
Segue um exemplo de arquivo slapd.conf.
# Arquivos de Schema do Gosa. include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/trust.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/samba3.schema include /etc/ldap/schema/gofon.schema include /etc/ldap/schema/gosystem.schema include /etc/ldap/schema/goto.schema include /etc/ldap/schema/gosa+samba3.schema include /etc/ldap/schema/goserver.schema include /etc/ldap/schema/goto-mime.schema include /etc/ldap/schema/dnszone.schema include /etc/ldap/schema/gofax.schema include /etc/ldap/schema/qmail.schema pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args #Definição do domínio. database bdb suffix dc=dominio,dc=ldap #Usuário manager é o administrador do domínio LDAP. rootdn cn=Manager,dc=dominio,dc=ldap rootpw senha directory /var/db/openldap-data index objectClass eq index uid pres,eq,sub index displayName pres,sub,eq index gosaMailDeliveryMode pres,eq,sub index sambaSID,sambaGroupType,sambaSIDList eq,pres index sambaDomainName,uniqueMember eq,pres index zoneName eq index relativeDomainName eq index ou,cn,sn,mail,givenname eq,pres,sub index uidNumber,gidNumber,memberUid eq,pres index loginShell eq,pres index nisMapName,nisMapEntry eq,pres,sub index sambaPrimaryGroupSID eq index default sub
Criação da Estrutura
A estrutura que normalmente crio para a construção da arvore LDAP é apenas o root (raiz). O arquivos ldif a seguir faz isso. As outras estrutura normalmente são criados com o comandos smbldap-tools.
dn: dc=dominio,dc=ldap objectClass: top objectClass: organization objectClass: dcObject dc: ldap o: Ldap Profissional
Salve esses comandos em um arquivo com extensão ldif e exporte para a base LDAP (exportar: ldapadd -f arquivo -x -D "cn=Manager,dc=dominio,dc=ldap" -w senha).
Finalizamos esta parte com o LDAP funcionando e com a estrutura raiz criada.
Os próximos artigos são:
- OpenLDAP com smbldap-tools
- Configuração do GOsa
- Instalando e Configurando o Samba 3x
- Instalando e Configurando o Postfix
