| Subcribe via RSS

Instalando e Configurando Um LDAP

agosto 25th, 2010 Posted in Geral


Continuando a configuração que fiz de um servidor LDAP, vamos instalar uma base de autenticação de usuários utilizando este serviço de diretórios em um CentOS 5.4.

Estou utilizando o CentOS 5.4, por que é este que está instalado no servidor do cliente, mas os procedimentos descritos aqui podem ser utilizados em RedHat, Ubuntu, etc.

Primeiro vamos instalar os pacotes necessários a execução do servidor.

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

O EPEL é um conjunto de pacotes extras que iremos precisar na instalação do servidor LDAP.

yum update
yum install openldap-servers nss_ldap samba httpd openssl mod_ssl mysql mysql-server php php-xml php-ldap php-mysql php-pdo php-cli php-common smbldap-tools

# yum update

# yum install openldap-servers nss_ldap samba httpd openssl mod_ssl mysql mysql-server php php-xml php-ldap php-mysql php-pdo php-cli php-common smbldap-tools

Por algum motivo a versão smbldap-tools que eu estava usando não funcionou corretamente, então instalei uma nova.

# rpm -Uvh http://download.gna.org/smbldap-tools/packages/smbldap-tools-0.9.5-1.noarch.rpm

É importante que o nome do servidor, assim como o nome do domínio estejam corretamente configurados no arquivo hosts.

# vim /etc/hosts

172.16.254.253  server  server.alliance3.net

# hostname server.alliance3.net

Agora iremos gerar uma senha que será utilizada para conexão do servidor com a base

# slappasswd
{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXX

Vamos editar o arquivo de configuração do servidor LDAP.

# vim  /etc/openldap/slapd.conf

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema

allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

database bdb
suffix “dc=alliance3,dc=net”
rootdn “cn=root,dc=alliance3,dc=net”
rootpw {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXX
password-hash {SSHA}
directory /var/lib/ldap

index cn,sn,uid,displayName pres,sub,eq
index uidNumber,gidNumber eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index objectClass pres,eq
index default sub

loglevel 256

Nós iremos utilizar nosso LDAP com SAMBA, então vale a pena copiar logo os schemas que estão lá, e assim subir o serviço já pronto.

# cp /usr/share/doc/samba-3.*/LDAP/samba.schema /etc/openldap/schema/

# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

# chown ldap:ldap /var/lib/ldap/DB_CONFIG

# chmod 600 /var/lib/ldap/DB_CONFIG

Finalmente, vamos editar um arquivo que o LDAP carrega com dados da nossa rede.

# vim /etc/openldap/init.ldif

dn: dc=alliance3,dc=net
objectclass: dcObject
objectclass: organization
o: CentOS Directory Server
dc: alliance3

dn: cn=root,dc=alliance3,dc=net
objectclass: organizationalRole
cn: root

dn: ou=Users,dc=alliance3,dc=net
ou: Users
objectClass: top
objectClass: organizationalUnit

dn: ou=Groups,dc=alliance3,dc=net
ou: Groups
objectClass: top
objectClass: organizationalUnit

# slapadd -l /etc/openldap/init.ldif

# chown -R ldap:ldap /var/lib/ldap

# chmod 600 /var/lib/ldap/*

# slapcat

Agora vamos iniciar o servidor e testar uma busca.

# service ldap start

# ldapsearch -x -b “dc=alliance3,dc=net”

Uma boa forma de acessarmos o LDAP é através do phpldapadmin. Basta fazer o download dele, descompactá-lo e usar. Para quem já usou o phpMyAdmin, é bem parecido. Bom no próximo artigo vamos integrar o LDAP com o SAMBA. Até mais.

Tags: , ,

2 Responses to “Instalando e Configurando Um LDAP”

  1. Gabriel Says:

    Instalei direitinho no CentOS, só que quando digito ldapadd -a -W -x -D “cn=Manager,dc=teste,dc=com,dc=br” -f /etc/openldap/init.ldif e pede a senha, não está dando certo. Digito a senha 12345 que criei utilizando o slappasswd -s 12345 e dá o seguinte erro: ldap_bind: Invalid credentials (49). Utilizando o phpLDAPadmin, vi que a base estava aparecendo como dc=my-domin,dc=com (como se fosse o padrão, mesmo depois de ter modificado conforme o tutorial), para consertar, modifiquei os arquivos que estão dentro da pasta slapd.d/cn=config, aí sim consegui pelo menos alterar para que no phpLDAPadmin aparecesse os dados certos (dc=teste,dc=com,dc=br).
    O que posso ter errado para não conseguir acessar com a senha criada?


  2. Humberto Caetano Says:

    Na época que fiz o tutorial não era necessário alterar nada em diretório slapd.d. É possível que exista alguma evolução nos arquivos de configuração, que façam com que o comportamento do servidor LDAP mudem. É importante verificar se existe, no arquivo de configuração principal, alguma referência, como include, a este diretório que você colocou.


Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes