Pular para o conteúdo

OpenLDAP básico no CentOS

Dica publicada em Linux / Introdução
Pedro Augusto Malanga malanga
Hits: 32.095 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

OpenLDAP básico no CentOS

Bom, já existem muitos artigos para trabalharmos com OpenLDAP, então não entrarei no mérito da história, mas posso garantir que o OpenLDAP é uma estrutura onde podemos "cuidar" de muitas coisas, como por exemplo contas de usuários, que é o nosso foco neste pequeno tutorial.

Utilizei o CentOS Linux para este texto. Sem muito estresse, vamos ao trabalho!

Primeiro com a ajuda do YUM baixamos o OpenLDAP:

# yum install openldap openldap-server openldap-devel compat-openldap php-ldap

Depois de tudo instalado, vamos rapidamente pegar uma senha para nosso arquivo de configuração:

# slappasswd -s 12345

Esse comando irá gerar a senha no prompt:

{SSHA}tJBMztSgH1yOojFqj3tWP3UaXaowapW/

Copie essa senha pois utilizaremos a seguir.

Então vamos configurar o nosso amigo /etc/openldap/slapd.conf.

IMPORTANTE: Onde se fala de INCLUDE são na verdade estruturas que o LDAP vai absorver para a base de dados dele, que utiliza o Berkeley DB, então se você for utilizar por exemplo a integração do Samba com o OpenLDAP, deverá colocar o include do schema Samba nessas primeiras linhas, que é fornecido junto com o Samba.

Abaixo segue uma conf muito simples:

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

allow bind_v2

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
database        bdb
suffix          "dc=casa,dc=com"
rootdn          "cn=Manager,dc=casa,dc=com"
rootpw          {SSHA}tJBMztSgH1yOojFqj3tWP3UaXaowapW/
##Eu disse pra copiar a senha não disse

directory       /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Pronto, extremamente básico. A ideia aqui é somente levantar uma base LDAP, não estamos trabalhando com segurança, entre outras opções.

Agora vamos levantar nosso LDAP:

# sh /etc/init.d/ldap start

Para testar se realmente está funcionando, digite:

# ldapsearch -x

Deve aparecer qualquer coisa DIFERENTE de:

ldap_bind: Can't contact LDAP server (-1)

Você deve ter reparado que a resposta foi meio sem graça porque não temos nada dentro da nossa base, então vamos criar nossa estrutura para controle de usuários.

Crie um arquivo chamado topo.ldif:

dn: dc=casa,dc=com
objectclass: dcObject
objectclass: organization
o: Casa Openldap
dc: casa

dn: cn=Manager,dc=casa,dc=com
objectclass: organizationalRole
cn: Manager

Crie um segundo arquivo chamado base.ldif:

dn: ou=Pessoas,dc=casa,dc=com
ou: Pessoas
objectClass: top
objectClass: organizationalUnit

dn: ou=Grupos,dc=casa,dc=com
ou: Grupos
objectClass: top
objectClass: organizationalUnit

Agora vamos criar as estruturas com o comando ldapadd. Primeiro o top.ldif:

# ldapadd -x -D "cn=Manager,dc=casa,dc=com" -W -f top.ldif

Segundo o base.ldif:

# ldapadd -x -D "cn=Manager,dc=casa,dc=com" -W -f base.ldif

A opção -W irá solicitar a senha que criamos no início, que no neste caso é "teste".

Pronto, basicamente para se criar uma estrutura para utilizar o OpenLDAP é essa, existem muito mais configurações, porém com essa estrutura que criamos você já pode inserir alguns usuários e conectar por exemplo o Squid para autenticar nessa base.

Espero que possa ter ajudado de alguma forma.

Forte abraço.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

OpenFire com memória baixa

WHILE para PING em linha de comando

Tempo de execução de um comando - TIME ou TIMES

Configurando servidor Proftp no Debian Lenny com autenticação LDAP e filtro por grupo

Nmon - analisando o desempenho do Linux

Personalizando a tela de login do Ubuntu 7.04

Instalando impressora Canon PIXMA iP1700

Instalação do Fedora 10 - Solução de problemas

Triggers para utilização de recursos do PostGIS

BlueProximity: Travando a tela do Linux com o bluetooth

#1 Comentário enviado por removido em 22/08/2011 - 17:43h
Eu fiz
yum install openldap openldap-server openldap-devel compat-openldap php-ldap

Porem dentro de /etc/init.d não tem o ldap


e agora?
#2 Comentário enviado por removido em 22/08/2011 - 17:46h
Resposta, falta instalar esse pacote:

openldap-servers.i386

via yum tbm
#3 Comentário enviado por gamefe em 28/09/2011 - 20:18h
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?
#4 Comentário enviado por samukasmk em 12/06/2012 - 17:09h
Cara,

Muito Boa, Funciona ate hoje com tantas atualizações!

Valew!
Samuka

Contribuir com comentário

Entre na sua conta para comentar.