SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Entendendo o OpenLDAP
                Por GABRIEL STEIN
CONCEITOS ABORDADOS
                      Conceito de diretório / Serviço de diretório
                         Organização Hierárquica - Árvore
                                        LDAP
                                       Histórico
                                   Características
                                       Atributos
                                   ObjectClasses
                                      Schemas
                                       Entrada
                                         DNs
                                   Arquivos LDIF
                             Daemons e Configurações
                                     Integrações




Gabriel Stein - gabriel@gabrielstein.org                      Entendendo o OpenLDAP
CONCEITO DE DIRETÓRIO
 ●   Diretórios são utilizados como centralizadores de dados;

 ●   Dados são: Nome, Email, Telefone, Endereço ...




                                                           RE
                                                              DE

                                           um cliente do
                                             diretório


                                     DADOS: Nome, Email
     Um usuário do diretório
                                                                   Servidor de diretório

Gabriel Stein - gabriel@gabrielstein.org                           Entendendo o OpenLDAP
SERVIÇO DE DIRETÓRIO
 ●   Banco de Dados (NÃO RELACIONAL) para rápida leitura;


 ●   Informações descritivas;


 ●   Organização Hierárquica(árvore);


 ● Otimização para atender um grande número de
 requisições;


 ●   Exemplos: DNS, OpenLDAP e Novell eDirectory
Gabriel Stein - gabriel@gabrielstein.org   Entendendo o OpenLDAP
Organização Hierárquica: Árvore
 dn:dc=tchelinux,dc=org                    dc=org
                                                             Domain

    OrganizationalUnit
                                              dc=tchelinux



   ou=palestrantes                                  ou=organizacao


 cn:Gabriel Stein           Person
 sn:Stein
 description:Entendendo OpenLDAP

Gabriel Stein - gabriel@gabrielstein.org               Entendendo o OpenLDAP
LDAP
 ●   Interface de Acesso para o X.500


 ●Lightweight Directory Acess Protocol(LDAP) – Protocolo
 Leve para acessar serviços de diretório;


 ●   LDAP = Evolução do DAP = Directory Access Protocol;


 ●Conjunto de 4 modelos que servem de guia no uso do
 diretório(Informação,Nomes,Funcional,Segurança)


Gabriel Stein - gabriel@gabrielstein.org          Entendendo o OpenLDAP
LEVE? EVOLUÇÃO DO DAP?


       DAP(X.500) - OSI
                     Aplicação
                                           LDAP - TCP/IP
                   Apresentação                Aplicação

                      Sessão
                                               Transporte
                    Transporte
                                                Enlace
                       Rede

                      Enlace                     Física

                       Física



Gabriel Stein - gabriel@gabrielstein.org            Entendendo o OpenLDAP
OPENLDAP - Histórico
 ●Comecou a ser desenvolvido pela Universidade de
 Michigan, mas foi descontinuado em 1996 (U-Mich LDAP
 v.3.3);

 ● AGOSTO 1998:A empresa Net Boolean, que hospedava
 serviços de e-mails para companhias utilizando software-
 livre (Apache, FreeBSD,U-Mich LDAP, etc.) fundou o
 projeto OpenLDAP, com o objetivo: “to provide open source
 LDAP software and information”

 ●   No mesmo mês, foi lançado o OpenLDAP 1.0;



Gabriel Stein - gabriel@gabrielstein.org   Entendendo o OpenLDAP
Características
 ●   Funcionamento sobre IPV4 e IPV6(LDAPv3)

 ●   Leve e robusto;

 ●   Suporte a vários backends(BDB,SQL,PASSWD);

 ●   Suporte a múltiplas instâncias de dados;

 ●   “Backup” feito através de réplicas;

 ●   Suporte a SASL(Autenticação) e a TLS/SSL;



Gabriel Stein - gabriel@gabrielstein.org        Entendendo o OpenLDAP
Atributos
 ●São campos que agregam elementos de dados, como
 nome, telefone, email, endereço;

                     Tipo de Atributo          Valor
                                           cn: Gabriel Stein
                                           sn: Stein
                                       mail: gabriel@gabrielstein.org


 ●Possuem regras para determinar o tipo de valor que será
 armazenado;


Gabriel Stein - gabriel@gabrielstein.org                       Entendendo o OpenLDAP
Atributos(Exemplos)

                   Tipo de Atributo           Valor
                                           cn commonName
                                           sn: surname
                                      mail: email
                      telephoneNumber telefone
                                  Address Endereço
                                           dc domainComponent
                                           ou organizationalUnit




Gabriel Stein - gabriel@gabrielstein.org                           Entendendo o OpenLDAP
ObjectClasses
●   ObjectClasses são compostas por um conjunto de atributos;

●A inclusão de uma ObjectClass em uma entrada determina quais
os atributos deverão ser utilizados e quais poderão ser
utilizados(MUST e MAY);

Ex: A objectclass person exige os atributos cn e sn, mas pode ser
utilizado o atributo telephoneNumber

● Possuem derivações, uma ObjectClass pode herdar atributos
requeridos de outra;

Ex: A objectclass inetorgperson tem como raiz a objectclass person,
por isso os atributos cn e sn são obrigatórios


                                                  Entendendo o OpenLDAP
Schemas
 ●   Conjunto de “regras” integradas ao diretório;

 ●Regras que determinam qual o tipo de dados e como
 esses dados serão armazenados na base;

 ●Essas “regras” são compostas de Atributos e
 ObjectClasses;

 ●Cada aplicação integrada ao OpenLDAP pode ter o
 próprio schema(Ex: SAMBA - samba.schema);




Gabriel Stein - gabriel@gabrielstein.org             Entendendo o OpenLDAP
Schemas(Exemplo)
 Atributo:

 attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' )
       DESC 'RFC2256: street address of this object'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

 ObjectClass:

 objectclass ( 2.5.6.6 NAME 'person'
      DESC 'RFC2256: a person'
      SUP top STRUCTURAL
      MUST ( sn $ cn )
      MAY ( userPassword $ telephoneNumber $ seeAlso $
 description ) )
Gabriel Stein - gabriel@gabrielstein.org               Entendendo o OpenLDAP
Entrada
 ●   É um conjunto de informações de UM objeto;

 ●   É onde são referenciados atributos e objectclasses;

 Ex:

 cn: Gabriel Stein
 sn: Stein
 telephoneNumber: 55-5555555
 mail:gabriel@gabrielstein.org
 objectclass:inetorgperson




Gabriel Stein - gabriel@gabrielstein.org             Entendendo o OpenLDAP
DN – Distinguished Name
 ●São nomes distintos que identificam cada entrada na
 base;

 ●A utilização de dn é importante para referenciar itens da
 base, adicionando, alterando ou removendo itens da base,
 como atributos e até mesmo entradas;

 ●São utilizados nos arquivos LDIF e na autenticação de
 usuários;

 Ex:
 dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org


Gabriel Stein - gabriel@gabrielstein.org    Entendendo o OpenLDAP
DN: Representação => Árvore
                                                 dc=org
                                                                     Domain


                   OrganizationalUnit                 dc=tchelinux



                   ou=palestrantes                           ou=organizacao



               cn:Gabriel Stein
                                                  Person
               sn:Stein
               description:Entendendo OpenLDAP



 dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org


Gabriel Stein - gabriel@gabrielstein.org                              Entendendo o OpenLDAP
Arquivos LDIF
 ● Arquivos texto utilizados para adicionar, alterar e remover
 informações de uma base;

 ● Devem conter sempre DNs referenciando entradas e
 informações;

 Ex:

 dn:uid=gabriel,ou=palestrantes,dc=tchelinux,dc=org
 objectclass:inetorgperson
 uid: gabriel
 cn: Gabriel Stein
 sn: Stein
 telephoneNumber:55-123467
Gabriel Stein - gabriel@gabrielstein.org      Entendendo o OpenLDAP
Daemons e confs
  Daemons

 ●   Daemon OpenLDAP: slapd

 ●   Daemon para réplica OpenLDAP: slurpd

  Confs

 ●   Configuração servidor OpenLDAP: slapd.conf

 ●   Configuração cliente OpenLDAP: ldap.conf



Gabriel Stein - gabriel@gabrielstein.org        Entendendo o OpenLDAP
SLAPD.CONF
 Diretivas principais

 ●   Referencia a schemas

          include /etc/ldap/schema/meuschema.schema

 ●   Database

          database bdb

 ●   Sufixo

          suffix “dc=tchelinux,dc=org”

Gabriel Stein - gabriel@gabrielstein.org    Entendendo o OpenLDAP
SLAPD.CONF - 2

 ●   DN para autenticação do administrador da base

          rootdn “cn=manager,dc=tchelinux,dc=org”

 ●   Senha para autenticação do administrador da base

          rootpw {SSHA}I8QMpde4dJue4pP21+OToT+9WJ9ADtfl

 ●   Diretório da base

          directory /var/lib/ldap


Gabriel Stein - gabriel@gabrielstein.org      Entendendo o OpenLDAP
SLAPD.CONF - 3

 ●   Indexes para tornar a consulta mais rápida

          index             objectclass    eq

 ●   ACLs para controle de acesso da base

          access to attrs=userPassword
          by dn.base=”cn=manager,dc=tchelinux,dc=org” write
          by self write
          by * none



Gabriel Stein - gabriel@gabrielstein.org          Entendendo o OpenLDAP
LDAP.CONF

 ●   Possibilita o acesso a base LDAP através de clientes;

 ●   Referência ao servidor OpenLDAP

          HOST 10.0.0.1

 ●   Referência a base LDAP

          BASE dc=tchelinux,dc=org




Gabriel Stein - gabriel@gabrielstein.org         Entendendo o OpenLDAP
INTEGRAÇÕES




Gabriel Stein - gabriel@gabrielstein.org   Entendendo o OpenLDAP
S
                                                 A
                                                 M
                                                 B
                                                 A




                                           O
                                            PE
                                             NL
                      APACHE                           SQUID


                                                 DA
                                                   P


                                           POSTFIX



Gabriel Stein - gabriel@gabrielstein.org
MUITO OBRIGADO!!

       PERGUNTAS??

          gabriel@gabrielstein.org



                   Entendendo o OpenLDAP

Mais conteúdo relacionado

Mais procurados

Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active DiretoryPedro Neto
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroSouza Natália
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active DirectoryEduardo Sena
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_workingLeandro Mendes
 
Módulo 06 Introdução a metadados no DSpace
Módulo 06 Introdução a metadados no DSpaceMódulo 06 Introdução a metadados no DSpace
Módulo 06 Introdução a metadados no DSpaceRodrigo Prado
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dnsOi S.A
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 págOi S.A
 
Protocolo DNS
Protocolo DNSProtocolo DNS
Protocolo DNSBiel2013a
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name systemMariana Amorim
 
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...Hermano Lira
 
Módulo 07 Identificadores
Módulo 07 IdentificadoresMódulo 07 Identificadores
Módulo 07 IdentificadoresRodrigo Prado
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 

Mais procurados (20)

Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active Diretory
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active Directory
 
Conceitos iniciais de Active Directory
Conceitos iniciais de Active DirectoryConceitos iniciais de Active Directory
Conceitos iniciais de Active Directory
 
Aula 1 active diretory - 04082012
Aula 1   active diretory - 04082012Aula 1   active diretory - 04082012
Aula 1 active diretory - 04082012
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_working
 
Módulo 06 Introdução a metadados no DSpace
Módulo 06 Introdução a metadados no DSpaceMódulo 06 Introdução a metadados no DSpace
Módulo 06 Introdução a metadados no DSpace
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dns
 
AD, UOs e GPO
AD, UOs e GPOAD, UOs e GPO
AD, UOs e GPO
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 pág
 
Apresentação3
Apresentação3Apresentação3
Apresentação3
 
Dns
DnsDns
Dns
 
Protocolo DNS
Protocolo DNSProtocolo DNS
Protocolo DNS
 
Active Directory
Active Directory Active Directory
Active Directory
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name system
 
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...
Semantic Data Services: Uma abordagem para leitura e atualização de dados sem...
 
Módulo 07 Identificadores
Módulo 07 IdentificadoresMódulo 07 Identificadores
Módulo 07 Identificadores
 
Servidor DNS
Servidor DNSServidor DNS
Servidor DNS
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 

Semelhante a Entendendo o OpenLDAP - GABRIEL STEIN

Semelhante a Entendendo o OpenLDAP - GABRIEL STEIN (20)

Servidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPServidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAP
 
Workshop_OpenLDAP
Workshop_OpenLDAPWorkshop_OpenLDAP
Workshop_OpenLDAP
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP Doctrine
 
Não é Feitiçaria, é Tecnologia
Não é Feitiçaria, é TecnologiaNão é Feitiçaria, é Tecnologia
Não é Feitiçaria, é Tecnologia
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Migrando para o PHP 5
Migrando para o PHP 5Migrando para o PHP 5
Migrando para o PHP 5
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptx
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Slide.pdf
Slide.pdfSlide.pdf
Slide.pdf
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
poo-aula01.pdf
poo-aula01.pdfpoo-aula01.pdf
poo-aula01.pdf
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
 
Aula 5 caracteristicas do ad
Aula 5 caracteristicas do adAula 5 caracteristicas do ad
Aula 5 caracteristicas do ad
 
Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby Steps
 
Grails
GrailsGrails
Grails
 
MAC5855 - NoSQL
MAC5855 - NoSQLMAC5855 - NoSQL
MAC5855 - NoSQL
 

Mais de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Mais de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Entendendo o OpenLDAP - GABRIEL STEIN

  • 1. Entendendo o OpenLDAP Por GABRIEL STEIN
  • 2. CONCEITOS ABORDADOS Conceito de diretório / Serviço de diretório Organização Hierárquica - Árvore LDAP Histórico Características Atributos ObjectClasses Schemas Entrada DNs Arquivos LDIF Daemons e Configurações Integrações Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 3. CONCEITO DE DIRETÓRIO ● Diretórios são utilizados como centralizadores de dados; ● Dados são: Nome, Email, Telefone, Endereço ... RE DE um cliente do diretório DADOS: Nome, Email Um usuário do diretório Servidor de diretório Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 4. SERVIÇO DE DIRETÓRIO ● Banco de Dados (NÃO RELACIONAL) para rápida leitura; ● Informações descritivas; ● Organização Hierárquica(árvore); ● Otimização para atender um grande número de requisições; ● Exemplos: DNS, OpenLDAP e Novell eDirectory Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 5. Organização Hierárquica: Árvore dn:dc=tchelinux,dc=org dc=org Domain OrganizationalUnit dc=tchelinux ou=palestrantes ou=organizacao cn:Gabriel Stein Person sn:Stein description:Entendendo OpenLDAP Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 6. LDAP ● Interface de Acesso para o X.500 ●Lightweight Directory Acess Protocol(LDAP) – Protocolo Leve para acessar serviços de diretório; ● LDAP = Evolução do DAP = Directory Access Protocol; ●Conjunto de 4 modelos que servem de guia no uso do diretório(Informação,Nomes,Funcional,Segurança) Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 7. LEVE? EVOLUÇÃO DO DAP? DAP(X.500) - OSI Aplicação LDAP - TCP/IP Apresentação Aplicação Sessão Transporte Transporte Enlace Rede Enlace Física Física Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 8. OPENLDAP - Histórico ●Comecou a ser desenvolvido pela Universidade de Michigan, mas foi descontinuado em 1996 (U-Mich LDAP v.3.3); ● AGOSTO 1998:A empresa Net Boolean, que hospedava serviços de e-mails para companhias utilizando software- livre (Apache, FreeBSD,U-Mich LDAP, etc.) fundou o projeto OpenLDAP, com o objetivo: “to provide open source LDAP software and information” ● No mesmo mês, foi lançado o OpenLDAP 1.0; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 9. Características ● Funcionamento sobre IPV4 e IPV6(LDAPv3) ● Leve e robusto; ● Suporte a vários backends(BDB,SQL,PASSWD); ● Suporte a múltiplas instâncias de dados; ● “Backup” feito através de réplicas; ● Suporte a SASL(Autenticação) e a TLS/SSL; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 10. Atributos ●São campos que agregam elementos de dados, como nome, telefone, email, endereço; Tipo de Atributo Valor cn: Gabriel Stein sn: Stein mail: gabriel@gabrielstein.org ●Possuem regras para determinar o tipo de valor que será armazenado; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 11. Atributos(Exemplos) Tipo de Atributo Valor cn commonName sn: surname mail: email telephoneNumber telefone Address Endereço dc domainComponent ou organizationalUnit Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 12. ObjectClasses ● ObjectClasses são compostas por um conjunto de atributos; ●A inclusão de uma ObjectClass em uma entrada determina quais os atributos deverão ser utilizados e quais poderão ser utilizados(MUST e MAY); Ex: A objectclass person exige os atributos cn e sn, mas pode ser utilizado o atributo telephoneNumber ● Possuem derivações, uma ObjectClass pode herdar atributos requeridos de outra; Ex: A objectclass inetorgperson tem como raiz a objectclass person, por isso os atributos cn e sn são obrigatórios Entendendo o OpenLDAP
  • 13. Schemas ● Conjunto de “regras” integradas ao diretório; ●Regras que determinam qual o tipo de dados e como esses dados serão armazenados na base; ●Essas “regras” são compostas de Atributos e ObjectClasses; ●Cada aplicação integrada ao OpenLDAP pode ter o próprio schema(Ex: SAMBA - samba.schema); Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 14. Schemas(Exemplo) Atributo: attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' ) DESC 'RFC2256: street address of this object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} ) ObjectClass: objectclass ( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 15. Entrada ● É um conjunto de informações de UM objeto; ● É onde são referenciados atributos e objectclasses; Ex: cn: Gabriel Stein sn: Stein telephoneNumber: 55-5555555 mail:gabriel@gabrielstein.org objectclass:inetorgperson Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 16. DN – Distinguished Name ●São nomes distintos que identificam cada entrada na base; ●A utilização de dn é importante para referenciar itens da base, adicionando, alterando ou removendo itens da base, como atributos e até mesmo entradas; ●São utilizados nos arquivos LDIF e na autenticação de usuários; Ex: dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 17. DN: Representação => Árvore dc=org Domain OrganizationalUnit dc=tchelinux ou=palestrantes ou=organizacao cn:Gabriel Stein Person sn:Stein description:Entendendo OpenLDAP dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 18. Arquivos LDIF ● Arquivos texto utilizados para adicionar, alterar e remover informações de uma base; ● Devem conter sempre DNs referenciando entradas e informações; Ex: dn:uid=gabriel,ou=palestrantes,dc=tchelinux,dc=org objectclass:inetorgperson uid: gabriel cn: Gabriel Stein sn: Stein telephoneNumber:55-123467 Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 19. Daemons e confs Daemons ● Daemon OpenLDAP: slapd ● Daemon para réplica OpenLDAP: slurpd Confs ● Configuração servidor OpenLDAP: slapd.conf ● Configuração cliente OpenLDAP: ldap.conf Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 20. SLAPD.CONF Diretivas principais ● Referencia a schemas include /etc/ldap/schema/meuschema.schema ● Database database bdb ● Sufixo suffix “dc=tchelinux,dc=org” Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 21. SLAPD.CONF - 2 ● DN para autenticação do administrador da base rootdn “cn=manager,dc=tchelinux,dc=org” ● Senha para autenticação do administrador da base rootpw {SSHA}I8QMpde4dJue4pP21+OToT+9WJ9ADtfl ● Diretório da base directory /var/lib/ldap Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 22. SLAPD.CONF - 3 ● Indexes para tornar a consulta mais rápida index objectclass eq ● ACLs para controle de acesso da base access to attrs=userPassword by dn.base=”cn=manager,dc=tchelinux,dc=org” write by self write by * none Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 23. LDAP.CONF ● Possibilita o acesso a base LDAP através de clientes; ● Referência ao servidor OpenLDAP HOST 10.0.0.1 ● Referência a base LDAP BASE dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 24. INTEGRAÇÕES Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 25. S A M B A O PE NL APACHE SQUID DA P POSTFIX Gabriel Stein - gabriel@gabrielstein.org
  • 26. MUITO OBRIGADO!! PERGUNTAS?? gabriel@gabrielstein.org Entendendo o OpenLDAP