Pular para o conteúdo

OpenLDAP básico no CentOS

Dica publicada em Linux / Introdução
Pedro Augusto Malanga malanga
Hits: 32.091 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.

free - Comando pra saber utilização de memória do Linux

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

OpenFire com memória baixa

Java no Fedora 16

Colocando programas no system tray

Manipulando arquivos PDF no terminal

MakeMusic Finale 2014 no Linux

Alterar tema do GDM no Ubuntu 9.10

#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.