Você está na página 1de 17

LDAP

Paulo Manoel Mafra Senai Florianopolis


paulo.mafra@sc.senai.br

LDAP p. 1/17

LDAP
um protocolo leve para acessar servios de diretrio Diretrios so bancos de dados que armazenam informaes mas so hierrquicos Usam uma estrutura de rvore ao invs de tabelas Permite distribuio de dados entre servidores Pode ser usado para centralizar bases de usurios e grupos Pode ser integrado com o samba, postx, apache, etc Evita problemas de inconsistncias de senhas

LDAP p. 2/17

LDAP
O schema um conjunto de denies que regem o armazenamento de informaes no servio de diretrio denem classes de objetos, atributos, regras de ordenao, etc
Schemas

A rvore de diretrios pode ser organizada baseando-se nos domnios de nomes (DNS). Ex. redes.edu.br => dc=redes,dc=edu,dc=br (domain component)

LDAP p. 3/17

LDAP

Servidor Apache

Servidor Email

Cliente Linux Servidor LDAP

Cliente Windows

Servidor Samba

LDAP p. 4/17

LDAP
Instalar no servidor:
apt-get install slapd ldap-utils

Arquivo de congurao em: /etc/ldap/slapd.conf (opcional) Para ver a base slapcat Editar o arquivo de congurao com os seguintes dados:
include include include include /etc/ldap/schema/core.schema /etc/ldap/schema/cosine.schema /etc/ldap/schema/nis.schema /etc/ldap/schema/inetorgperson.schema

LDAP p. 5/17

LDAP
allow bind_v2 pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel none modulepath /usr/lib/ldap moduleload back_bdb sizelimit 500 tool-threads 1 backend database suffix rootdn rootpw bdb bdb "dc=redes,dc=edu,dc=br" "cn=admin,dc=redes,dc=edu,dc=br" {SSHA}07J0cg9SGyPlGPX/9uSOgXUKGwZmw98x

LDAP p. 6/17

LDAP
directory "/var/lib/ldap" dbconfig set_cachesize 0 2097152 0 dbconfig set_lk_max_objects 1500 dbconfig set_lk_max_locks 1500 dbconfig set_lk_max_lockers 1500 index objectClass eq lastmod on checkpoint 512 30 access by by by by to attrs=userPassword,shadowLastChange dn="cn=admin,dc=redes,dc=edu,dc=br" write anonymous auth self write * none

access to dn.base="" by * read


LDAP p. 7/17

LDAP
access to * by dn="cn=admin,dc=redes,dc=edu,dc=br" write by * read

Gerar uma senha de root com o comando: slappasswd e alterar no arquivo de congurao (opo rootpw)

LDAP p. 8/17

LDAP
Criando a estrutura para o servidor: Parar o servidor /etc/init.d/slapd stop Gerar um backup do diretrio slap.d mv /etc/ldap/slapd.d
/etc/ldap/slapd.d.backup

Criar o diretrio para congurao mkdir /etc/ldap/slapd.d Vericar a aplicao da nova congurao slaptest -f
slapd.conf -F slapd.d

Modicar o dono do diretrio chown -R


openldap:openldap /etc/ldap/slapd.d

Iniciar o servidor /etc/init.d/slapd start


LDAP p. 9/17

LDAP
Migrando contas Instalar o pacote migrationtools apt-get install migrationtools Editar o arquivo /usr/share/migrationtools/migrate common.ph Alterar as seguintes linhas:
$DEFAULT_MAIL_DOMAIN = "redes.edu.br"; $DEFAULT_BASE = "dc=redes,dc=edu,dc=br";

LDAP p. 10/17

LDAP
Migrando contas Gerar os arquivos para importar no LDAP
cd /usr/share/migrationtools/ ./migrate passwd.pl /etc/passwd /etc/ldap/users.ldif ./migrate group.pl /etc/group /etc/ldap/groups.ldif ./migrate base.pl > /etc/ldap/base.ldif

Editar o arquivo /etc/ldap/base.ldif e remover as 4 primeiras linhas (sobre o domnio edu.br, deixando apenas o domnio redes.edu.br)

LDAP p. 11/17

LDAP
Inserindo o contedo dos ldifs na base de dados LDAP:
ldapadd -x -D cn=admin,dc=redes,dc=edu,dc=br -f /etc/ldap/base.ldif -W ldapadd -x -D cn=admin,dc=redes,dc=edu,dc=br -f /etc/ldap/groups.ldif -W ldapadd -x -D cn=admin,dc=redes,dc=edu,dc=br -f /etc/ldap/users.ldif -W

Fazer um teste:
ldapsearch -x -b dc=redes,dc=edu,dc=br uidNumber=1000

LDAP p. 12/17

LDAP
Modicando uma informao na base de dados LDAP: Editar o arquivo trocarshell.ldif
dn: uid=aluno,ou=People,dc=redes,dc=edu,dc=br changetype: modify replace: loginShell loginShell: /bin/tcsh

Executar o comando: ldapmodify -x -D


cn=admin,dc=redes,dc=edu,dc=br -f trocarshell.ldif -W

Fazer nova consulta: ldapsearch -x -b


dc=redes,dc=edu,dc=br uidNumber=1000

LDAP p. 13/17

LDAP
Backup da base: Vericar os dados da base slapcat Vericar os dados da base slapcat -l
/usr/backup/backup.ldif

LDAP p. 14/17

LDAP
Adicionar um usurio na base LDAP: Criar o arquivo adduser.ldif
dn: uid=user2,ou=people,dc=redes,dc=edu,dc=br uid: user2 uidNumber: 1002 gidNumber: 1000 cn: User2 # nome sn: User2 # sobrenome objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/user2 userPassword: password

LDAP p. 15/17

LDAP
Adicionar um usurio na base LDAP:
ldapadd -x -D cn=admin,dc=redes,dc=edu,dc=br -f adduser.ldif -W

Remover um usurio (user2):


ldapdelete -D cn=admin,dc=redes,dc=edu,dc=br uid=user2,ou=People,dc=redes,dc=edu,dc=br -W

Alterar a senha de um usurio (user2):


ldappasswd -s novasenha -D cn=admin,dc=redes,dc=edu,dc=br -x uid=user2,ou=People,dc=redes,dc=edu,dc=br -W

LDAP p. 16/17

Exerccios
1) Instale e congure um servidor LDAP na mquina virtual, criando um domnio para a base 2) Migre as contas da mquina local para a base LDAP 3) Faa testes para vericar o funcionamento do LDAP 4) Crie novos usurios, troque a senha na base LDAP

LDAP p. 17/17

Você também pode gostar