Instalando e Configurando Um LDAP
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
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.

setembro 28th, 2011 at 20:19
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?
setembro 29th, 2011 at 8:55
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.