You are on page 1of 13

Home Artigos Linux Configurao Visualizao de artigo

Implementando servidor LDAP no Ubuntu

rfreitasa
04/06/2007
Artigo para configurao passo-a-passo de uma base LDAP para servidores Ubuntu. Dentre as
funcionalidades est a autenticao direta dos usurios de sistema na base com criao automtica
do /home do usurio.
Por: Raphael de Freitas
[ Hits: 84284 ]
Conceito: 10.0 + quero dar nota ao artigo
+ Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Instalao do LDAP e LDAP PHPLdapAdmin


Instalando base LDAP:

# aptitude install slapd

DNS domain name: vivaolinux.com.br ( o nome que daremos para o DNS)


Name of your organization: vivaolinux ( o nome de sua organizao que ser especificada na base
dn)
Admin password: senha (coloque uma senha que ser usada na conexo com a base)
Allow LDAPv2 protocol: YES ( muito importante habilitar esse item para ser compatvel com
aplicaes que utilizam LDAPv2)

Edite o arquivo /etc/ldap/slapd e troque todos os dc para o dc que voc quiser.

Ex: dc=vivaolinux,dc=com,dc=br
Ex: dc=empresa,dc=com

o nome raiz que teremos.

Instalando sistema de gerenciamento LDAP PHPLdapAdmin:

PHPLdapAdmin uma interface grfica para gerenciar a base LDAP.

Primeiramente ser necessrio a instalao do Apache2 com suporte PHP verso 5 ou 4 se preferir.

# aptitude install apache2 libapache2-mod-php5 php5 php5-cgi php5-ldap

Aps isso instalaremos o phpldapadmin:

# aptitude install phpldapadmin


Pronto, abra o browser e visualize sua base, exemplo:

http://ip_do_servidor/phpldapadmin

Implementando servidor LDAP no Ubuntu

rfreitasa
04/06/2007
Artigo para configurao passo-a-passo de uma base LDAP para servidores Ubuntu. Dentre as
funcionalidades est a autenticao direta dos usurios de sistema na base com criao automtica
do /home do usurio.
Por: Raphael de Freitas
[ Hits: 84285 ]
Conceito: 10.0 + quero dar nota ao artigo
+ Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Editar arquivo slapd.conf adicionando os logs


Editar o arquivo /etc/ldap/slapd.conf, adicionar os ndices e editar o que h. Temos:
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

Os ndices servem para concatenar as informaes que pegaremos dos schemas, seria algo mais ou
menos parecido com campos de banco de dados. Understand?

Aps isso pare o slapd:

# invoke-rc.d slapd stop

DICA: Nunca recrie o ndice com o LDAP rodando.

Recrie o ndice, pois adicionamos novos ndices ao arquivo slapd.conf:

# slapindex -v
# invoke-rc.d slapd start

Acerte o log do LDAP, edite o arquivo /etc/syslog.conf e insira a seguinte linha em seu final:
local4.* /var/log/ldap.log
necessrio a reinicializao do servio de log:

# invoke-rc.d sysklogd restart

Edite o arquivo slapd.conf novamente e modifique o log de acordo com o que voc quer armazenar.
Exemplo:
-1 - log completo (mas carrega demais);
8 - somente as conexes;
0 - sem log (prefiro no jogar para log, s se tiver com problemas, da alteramos para -1 pra
ver o que est acontecendo).
Alm desses tem vrios. :)

Implementando servidor LDAP no Ubuntu

rfreitasa
04/06/2007
Artigo para configurao passo-a-passo de uma base LDAP para servidores Ubuntu. Dentre as
funcionalidades est a autenticao direta dos usurios de sistema na base com criao automtica
do /home do usurio.
Por: Raphael de Freitas
[ Hits: 84286 ]
Conceito: 10.0 + quero dar nota ao artigo
+ Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Editar o arquivo ldap.conf


Edite o arquivo /etc/ldap/ldap.conf. O mesmo dever conter as seguintes linhas:
BASE dc=vivaolinux,dc=com,dc=br #no tem espao depois da vrgula!!
SIZELIMIT 0

D um restart no slapd e pronto, seu LDAP est praticamente pronto.

Para efetuar a busca na base via comandos segue a dica:

Instale agora a ferramenta de gerenciamento da base via shell:

# aptitude install ldapscripts

Se dermos um "ldapsearch -x" ele nos mostra a base inteira LDAP.

Esse comando ser muito utilizado!


Implementando servidor LDAP no Ubuntu

rfreitasa
04/06/2007
Artigo para configurao passo-a-passo de uma base LDAP para servidores Ubuntu. Dentre as
funcionalidades est a autenticao direta dos usurios de sistema na base com criao automtica
do /home do usurio.
Por: Raphael de Freitas
[ Hits: 84287 ]
Conceito: 10.0 + quero dar nota ao artigo
+ Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Criao de usurios e grupos


Prefiro criar todos os usurios e grupos via PHPLdapAdmin, mas por comando seria assim:

Para comearmos de forma correta criaremos 2 unidades organizacionais (OU) para organizarmos
melhor nossa base.

Crie um arquivo .ldif (formato de intercmbio para LDAP) - Ldap Interchange Format.

# touch insereou.ldif

Edite o insereou.ldif com:


dn: ou=Pessoas,dc=vivaolinux,dc=com,dc=br
ou: Pessoas
objectClass: organizationalUnit
objectClass: top

dn: ou=Grupos,dc=vivaolinux,dc=com,dc=br
ou: Grupos
objectClass: organizationalUnit
objectClass: top

Adicionando usurios e grupos na base. Crie um arquivo chamado adicionauser.ldif e edite:


dn: cn=nomedousuario,ou=Pessoas,dc=vivaolinux,dc=com,dc=br
givenName: nomedousuario
sn: sobrenome
cn: nomedousuario sobrenome
uid: nomedousuario
uidNumber: 1003
gidNumber: 1007 (gid do grupo)
homeDirectory: /home/nomedousuario
loginShell: /bin/false
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
mail: nomedousuario@vivaolinux.com.br

dn: cn=CPD,ou=Grupos,dc=beraca,dc=com,dc=br
cn: CPD
gidNumber: 1000
objectClass: posixGroup
objectClass: top

Aps isso vamos adicion-los na base:

# ldapsearch -x -LLL -D cn=admin,dc=vivaolinux,dc=com,dc=br -W < insereou.ldif


# ldapsearch -x -LLL -D cn=admin,dc=vivaolinux,dc=com,dc=br -W < adicionauser.ldif

Para teste:

# ldapsearch -x :::::

Se visualizar os novos elementos significa que est ok!

Implementando servidor LDAP no Ubuntu

rfreitasa
04/06/2007
Artigo para configurao passo-a-passo de uma base LDAP para servidores Ubuntu. Dentre as
funcionalidades est a autenticao direta dos usurios de sistema na base com criao automtica
do /home do usurio.
Por: Raphael de Freitas
[ Hits: 84288 ]
Conceito: 10.0 + quero dar nota ao artigo
+ Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Configuraes para autenticar na base LDAP


Instalando o libnss-ldap (muitas vezes isso instalado no momento da instalao do ldapscripts):

# aptitude install libpam-ldap


Respostas:

host address: IP da mquina


destinguished name ou dn: dc=vivaolinux,dc=com,dc=br
ldap version: 3
login database: no
readable/writable: no
OK

Instalando o libpam-ldap (muitas vezes isso instalado no momento da instalao do ldapscripts):

# aptitude install libpam-ldap

Make local root database admin: yes


Database requires logging in: no
root login account: cn=admin,dc=vivaolinux,dc=com,dc=br
root passwd: senha do admin
local crypt to use when changing passwords: crypt

Editar o arquivo /etc/nsswitch.conf:


passwd: compat ldap
group: compat ldap
shadow: compat ldap

O restante permanece a mesma coisa.

Agora iremos fazer com que o sistema busque os usurios na base LDAP.

Editar arquivo /etc/pam.d/common-account:


account sufficient pam_ldap.so
account required pam_unix.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0022

Editar o arquivo /etc/pam.d/common-auth:


auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure try_first_pass

Editar o arquivo /etc/common-password:


password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password required pam_ldap.so try_first_pass

Editar o arquivo /etc/common-session:


session sufficient pam_ldap.so
session required pam_unix.so

Pronto! Sua base est autenticando no LDAP.


Sugestes e crticas sero bem vindas.

Abraos.
Raphael Freitas

---------------------------------------------------------------------------------------------------

Prxima pgina >>

Pginas do artigo
1. Instalao do LDAP e LDAP PHPLdapAdmin
2. Editar arquivo slapd.conf adicionando os logs
3. Editar o arquivo ldap.conf
4. Criao de usurios e grupos
5. Configuraes para autenticar na base LDAP

Outros artigos deste autor


Nenhum artigo encontrado.

Leitura recomendada

Configurar uma rede domstica e compartilhar ADSL no Slackware

Recebendo notificaes de seus servidores no seu celular e e-mail

Como configurar e instalar o VirtualBox

Compartilhando a internet do seu celular (3G Claro) com o seu PC atravs do


Blueman (Bluetooth)

VNC - Virtual Network Computing


Comentrios
[1] Comentrio enviado por roberva em 04/06/2007 - 11:32h:

Duvidas...
Se meu servidor ldap estiver fora da rede como os clientes vao se logar??
Quem eles vao buscar primeiro? Local ou no Dominio?
Mesmo assim como eu setaria timeout nos clientes?

Quem tiver essas respostas posta ai.... valeu gaelra!

;)
[2] Comentrio enviado por dockism em 04/06/2007 - 11:52h:

Galera desculpa a minha ignorncia, mas para que serve esse tipo de servidor LDAP??
[3] Comentrio enviado por Sup0rt3 em 04/06/2007 - 12:05h:

muito dez cara, valeu.

Respondendo o dochism:

Bem servidores ldap servem como base de dados de usuario para varios servidor: samba, apache,
squid, postfix, etc....
He uma base unica de usuarios que evita criar um usuario no proxy, depois um de login na rede,
depois outro de email...

O ldap de super rapido acesso para consultas e facil manipulao. O AD da Micro$oft usa uma
implementao do protocolo LDAP. O slapd uma outra implementao do mesmo protocolo.

Espero ter ajudado.


[4] Comentrio enviado por Sup0rt3 em 04/06/2007 - 12:10h:

Neste caso do Artigo muito bem feito do nosso amigo rfreitasa, Ele configurou o Servidor e o
cliente na propria maquina pelo q entendi. Ja trabalhei em uma rede que as maquinas linux se
logavam num servidor ldap, tinham seu home mapeados por nfs. Logo qualquer maquina que vc
entresse com seu username e passwd vc tinha as suas configuraes. esse o tal do perfil
ambulante.

No artigo ele so fez a maquina dele do ubuntu no usar mais o passwd para autenticar os usuario,
mas sim o ldap.

Espero ter me expressado corretamente.


[5] Comentrio enviado por rfreitasa em 04/06/2007 - 12:13h:

Exatamente
Toda autenticao local... O master funciona como replicador da base...na qual cada servidor Ldap
slave ter a mesma base ..(identica)...
S no ser identica se replicarmos partyes da base master..
Mas respondendo sua pergunta... se estiver sem "link" vc autenticar normalmente local.. pois cada
servidor slave tem sua base ....... grato.
[6] Comentrio enviado por rfreitasa em 04/06/2007 - 16:42h:
DETALHE: NA CRIAO DOS USUARIOS : troque o < POR > .... creio que na correo do
artigo ficou errado . GRATO
[7] Comentrio enviado por malanga em 04/06/2007 - 21:14h:

outra duvida,

quando vc alterou adicionou os index vc nao deveria ter dado um slapdindex???? para q comecem a
valer???

t+
[8] Comentrio enviado por vladijr em 04/06/2007 - 22:12h:

ola no consigo adicionar os usuarios no servidor fiz todas as configuraes de acordo com o artigo
mas depois que digito o comando para adicionar os usuarios simplemente no acontece nada a base
fica do mesmo jeito e pelo phpldapadmin no consigo me logar como admin aparece o seguinte erro

Error
Could not bind to the LDAP server.

LDAP said: Undefined attribute type


Error number: 0x11 (LDAP_UNDEFINED_TYPE)
Description: The attribute type specified is invalid.

que pode estar acontecendo???

[9] Comentrio enviado por rfreitasa em 05/06/2007 - 10:20h:

Sim toda vez que alteramos o indice damos um slapindex -v com o servidor parado...

No caso da senha... faa o seguinte amigo


coloque essas 2 linhas no seu slapd.conf e tente se logar novamente, se conseguir problema no
passwd do admin.
coloque abaixo do sufix
rootdn "cn=admin,dc=vivaolinux,dc=com,dc=br" (troque pela dn sua)
rootpw "senhadoadmin"
Tente acessar via phpldapadmin novamente.
o outro problema deve ser exatamente por causa disso...tente logar via phpldapadmin e crie os
usuarios por l...se conseguir pau de senha do admin...se no conseguir problema de schema ou
indice...
abc, Raphael
[10] Comentrio enviado por vladijr em 05/06/2007 - 13:34h:

ok rafael s que quando reinicio o computador aparece uma msg de erro dizendo que no foi
possivel encontrar o servidor ldap e meu ubuntu no abre mais o q pode estar acontecendo???
[11] Comentrio enviado por rfreitasa em 06/06/2007 - 09:21h:

Isso problema no pam.d.


Entre em modo failsafe e verifique toda a configurao do pam.d que esta no artigo!
Com certeza ou foi digitado algo errado ou alguma linha foi pulada ok?
Em relao ao erro de nao encontrar o servidor ldap pode ser seu ldap.conf que est errado. Amigo
de uma revisada em todos os passos ok?
abc,
[12] Comentrio enviado por vladijr em 07/06/2007 - 00:54h:

ol fiz o que vc falou acrecentei


rootdn "cn=admin,dc=vivaolinux,dc=com,dc=br" (troque pela dn sua)
rootpw "minhasenha"
ao slapd.conf mas mesmo assim no consigo acessar o phpldapadmin o que pode estar dando
errado?

vamos ver se isso ajuda usei o comando slapd -d 256 e obtive a seguinte resposta:

@(#) $OpenLDAP: slapd 2.2.26 (Nov 20 2006 22:42:27) $


buildd@terranova:/build/buildd/openldap2.2-2.2.26/debian/build/servers/slapd
daemon: bind(6) failed errno=98 (Address already in use)
daemon: bind(6) failed errno=98 (Address already in use)
slapd stopped.
connections_destroy: nothing to destroy.
que pode estar acontecendo
[13] Comentrio enviado por removido em 08/06/2007 - 09:11h:

Oi amigo, tudo bem?

Me explica direito como isto funciona..


se eu implementar esta soluo os dados do usuarios seram todos armazenados no servidor??

[14] Comentrio enviado por rfreitasa em 11/06/2007 - 16:40h:

Amigo algum passo fui pulado pois se nem via rootdn funcionou significa que ele no autentica
nem no modo "forado"(vamos dizer assim rs..)
Verifique todods os passos novamente que vai dar certo ok ... seu slapd t com problemas.
abc,

[15] Comentrio enviado por rfreitasa em 11/06/2007 - 16:47h:

Amigo lacraia ..
Funciona da seguinte forma:
Craiamos uma base ldap conbtendo usuarios e senhas ... dessa forma todos os servios
(squid/samba/apache /etc) podem se autenticar numa nica base entendeu?
Ela extremamente rapida e confivel.
Outro fator importanmte..... com uma base criada vc pode replicar em todos os servidores que vc
tem ... ou seja se vc tiver 3 empresas em varios pontos do brasil todos os usuarios se autenticaram
sem problemas em todas as unidades, pois vc ter uma nica base .... Nesse artigo somente explico
como autenticar , mas em outro momento colocarei replicao tb ok?
Em sntese uma centralizao de autenticao.
abc,
[16] Comentrio enviado por elthon_abreu em 12/06/2007 - 14:11h:

Amigo,
Sempre que dou o comando "ldapsearch -x" no Terminal recebo a seguinte mensagem:

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

Pelo que li nos frums, o meu SLAPD parece no estar subindo. Porm, eu no sei o que pode estar
errado. T precisando de uma mozinha do pessoal que j passou por essa complicao.

Elthon
[17] Comentrio enviado por rfreitasa em 12/06/2007 - 14:32h:

Amigo elthon ...


Quando instalamos o slapd a seco... ou seja ...damos um apt-get install slapd ... ele faz as perguntas
que coloquei no artigo...pois bem ...se vc aps isso der um start nesse servio ver que sobe sem
problemas.... Bom para que o slapd esteja com pau com certeza problema de digitao ou vc
esqueceu algum passo..
Verifique o arquivo slap.conf e o ldap.conf ... tem que conter o mesmo host ok?
Se estiver errado no dar subir pois no encontrar o server!
Espero ter ajudado.
VERIFIQUE os arquivos que postei ok?
abc,Raphael
[18] Comentrio enviado por rfreitasa em 20/06/2007 - 11:49h:

Pessoal....... Aos que nao conseguiram logar dar o comando dpkg-reconfigure slapd e modifique o
nome da base pela desejada ... Dai sim vai autenticar normalmente!
abc,
[19] Comentrio enviado por lipecys em 12/09/2007 - 15:22h:

Cara, muito bem explicado seu artigo, vou fazer as conf e qualquer coisa posto aqui, valew.
Obrigado.
[20] Comentrio enviado por jgama em 22/01/2008 - 23:49h:

Pessoal s uma dvida.

como desabilito o IPv6 no Ldap, pois aqui aparece est messagem nos logs ou com o comando
abaixo

[root@server ~]# slapd -d 256


@(#) $OpenLDAP: slapd 2.3.27 (Nov 10 2007 09:24:08) $
mockbuild@builder6.centos.org:/builddir/build/BUILD/openldap-2.3.27/openldap-2.3.27/build-
servers/servers/slapd
daemon: IPv6 socket() failed errno=97 (Address family not supported by protocol)
slapd starting

Abrao

[21] Comentrio enviado por rfreitasa em 23/01/2008 - 08:30h:

Amigo o ldap deve fornecer suporte a Ipv6 se a opo allow bind_v3 estiver habilitada
Caso contrrio atualize seu repositrio ldap e faa a instalao novamente.
Voc tb pode forar o ldap a "entender somente Ipv4 , nesse caso vc precisa passar um parametro na
inicializao do slapd:
edite o /etc/default/slapd colocando SLAPD_OPTIONS="-4"
teste com o comando slapd -d -4..
Espero ter ajudado....
abo,
Raphael
[22] Comentrio enviado por rfreitasa em 23/01/2008 - 08:32h:

outro porm :
O ldap funciona normalmente , mesmo aparecendo essa msg...ok?

[23] Comentrio enviado por Imigrante em 10/11/2009 - 09:09h:

Meu LDAP j est autenticando beleza. Mas gostaria de saber como devo fazer para utilizar um
perfil previamente configurado, para servir de padro quando outros perfis forem criados.
Ex: rea de trabalho, cones, paineis, configuraes de proxy e browser, etc...
Valeu!!!
[24] Comentrio enviado por rfreitasa em 10/11/2009 - 12:06h:

Amigo, essa configurao j samba . Para lhe ajudar vou te passar o caminho das pedras.
No samba h uma opo de perfil: logon path = /caminhoondeestaraosperfis , ativando essa linha,
assim que o usuario desligar a maquina ser sincronizado o perfil dele , feito isso vc pode copiar o
perfil e dar novo nome ao "boi".
Lembrando que o path deve ter sido mapeado logo abaixo EX:
#[sysvol]
#comment = System Volume
#path = /caminhodoperfil/nomedodiretorio
#guest ok = yes
#writable = yes
#share modes = no
#3browseable = no

Blz. ?? Acho que h tutorias bacanas aqui falando sobre isso.


Forte Abrao Raphael

[25] Comentrio enviado por portesurf em 07/04/2010 - 10:15h:

Amigo, rfreitasa !!!

Tenho j meu servidor slave replicando perfeitamente, caso o meu servidor MASTER pare os
usurios deveriam autenticar no slave, correto?

Tem alguma documentao que explique isso, estou tentando achar algo sobre, mas no consegui.

Obrigado
[26] Comentrio enviado por jgama em 24/04/2010 - 22:42h:

Algum sabe porque deste erro, coloco a senha do ldap emesmo assim dr erro.
root@server-01:~# ldapsearch -x -LLL -D cn=admin,dc=ccbsist,dc=net -W < insereou.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
root@server-01:~#

Nossa estou a dias para colocar um server ldap no Ubuntu-server 8.04 TLS e est osso duro.

Abrao
[27] Comentrio enviado por jgama em 30/04/2010 - 19:05h:

J resolvi, timnha erro nas configuraes

Abrao
[28] Comentrio enviado por rfreitasa em 01/05/2010 - 17:27h:

Amigo portesurf,
Todo servio (samba,squid,etc) voc aponta o servidor que dever autenticar. Na verdade o termo
master /slave sugere apenas o quesito replicao.
Ouqe voc~e procura alta disponibilidade, manter a autenticao mesmo com a queda de um
server. veja esse artigo, se lhe ajudar fico feliz.
http://www.nisled.org/category/heartbeat/
Forte abrao.

[29] Comentrio enviado por jnetux em 29/09/2010 - 15:48h:

Caro Raphael, parabns pelo excelente Tutorial.


Mas, se o servidor cair, vc podeira dar uma luz de como se faria o logon na mquina.
Pois s h login, se a mquina estiver ligada rede.
Se puder mostrar o caminho das pedras, fico muito grato.
JNetux

You might also like