SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
www.4linux.com.br
                 LDAP
      1 Encontro Nacional GUS – LinuxChix
             3 e 4 de Maio de 2003




           Alessandro Kenji Urakawa
                   Consultor
           alessandro@4linux.com.br
www.4linux.com.br
                  LDAP

     Lightweight Directory Access Protocol -
     Protocolo Leve de Acessos a Diretórios
www.4linux.com.br
                   LDAP
  - Conceitos:
      - Ldap
      - Serviço de Diretórios
      - X.500
 - Projeto OpenLdap
  - Características
  - Autenticações
  - LDIF (Ldap Interchange Format)
  - ObjectClass e Atributos
  - Schemas
  - Réplica de Bases
  - Passo a passo
  - Aplicações
www.4linux.com.br
                 LDAP

  O LDAP é um protocolo para acessos a
 diretórios que foi desenvolvido a partir do
 X.500.

 Uma de suas principais utilidades é a de
 centralizar as informações dos usuários.
www.4linux.com.br
www.4linux.com.br
                LDAP

   MTA                     Samba


                    Ldap
                           ProFTP
  Apache



                             ...
www.4linux.com.br
                      LDAP
O que é um serviço de Diretórios ?

➢   Banco de Dados otimizado para leitura;

➢   Suporta sofisticados métodos de busca;

➢ Ajustados para dar respostas rápidas para
procuras em altos volumes;

➢   Um exemplo é o DNS (Domain Name System);
www.4linux.com.br
                     LDAP
Modelo X.500 ?

➢ Mais conhecido como DAP (Directory Access
Protocol)

➢Modelo que dita como as transações ocorrem em
um serviço de Diretórios;

➢   Desenvolvido no modelo OSI.
www.4linux.com.br




Projeto OpenLdap

O LDAP comecou a ser
➢                               desenvolvido   pela
Universidade de Michigan;

➢   Baseado no modelo X.500.

➢   Roda em cima da pilha TCP/IP.
www.4linux.com.br
                       LDAP
Que tipo de informações podem ser guardadas em
um diretório ?

➢ Nome;
➢ UID (user ID);

➢ Passwords;

➢ E-mails e Alias;

➢ Fotos;

➢ Local de trabalho;

➢ ...
www.4linux.com.br
                      LDAP
Como as informações são organizadas ?

➢   Estrutura hierárquica em árvore;
www.4linux.com.br
www.4linux.com.br
www.4linux.com.br
                     LDAP
Como as informações são referenciadas ?

➢dn: uid=alessandro,ou=Consultoria,o=4Linux,c=BR

RFC 2253 - LADPv3 Distinguished Names

        CN        commonName
        L        localityName
        ST        stateOrProvinceName
        O         organizationName
        OU        organizationalUnitName
        C        countryName
        STREET     streetAddress
        DC        domainComponent
        UID        userid
www.4linux.com.br
                          LDAP
Como é feito uma busca ?
➢   Critérios de busca;

➢ Busca em determinadas áreas ou na árvore
inteira;

➢   Filtros;
www.4linux.com.br
                    LDAP
Como protejo as informações para acessos não
autorizados ?

➢ Autenticação;
➢ Controle em listas de acessos;
www.4linux.com.br
                     LDAP
Ldif – Ldap Interchange Format
➢Formato para Importar / Exportar informações no
Ldap;

➢   Arquivo texto;

➢ Cuidado com acentos, cedilha e principalmente
com espaços em branco no final de cada linha;
www.4linux.com.br
                       LDIF
dn: uid=alessandro,ou=Consultoria,o=4Linux, c=BR
objectClass: top
objectClass: organizationalperson
objectClass: inetOrgPerson
objectClass: qmailuser
uid: alessandro
o: 4Linux
ou: Consultoria
cn: Alessandro Kenji Urakawa
sn: Urakawa
userPassword:: 1WlVnbEQzQ1pKVDRsQnM9
mail: alessandro@4linux.com.br
Title: Consultor Técnico
PhoneNumber: +55 (11) 3889-0108
www.4linux.com.br
                  Schemas
➢   Define os Objetos e Atributos;

➢   Tipo de dado que será guardado no Atributo;

➢Cada objeto ou atributo possui um número de
controle (OID), registrado no IANA;

➢Pode ser criado para suprir eventuais
necessidades;
www.4linux.com.br
               ObjectClass
➢Que atributos são requeridos e quais podem ser
utilizados quando o objeto for declarado;

➢Determinam a classe e o tipo de informações
que você deseje guardar no registro;

➢   Ldap Schema Viewer - http://ldap.akbkhome.com

➢ RCF-2252 - Object Class Description -
ftp://ftp.isi.edu/in-notes/rfc2252.txt
www.4linux.com.br
          Características
➢ Suporte a IPV4 e IPV6;
➢ Autenticação (Cyrus SASL – Kerberos V, GSSAPI,
Digest-MD5);
➢ Segurança no transporte (SSL e TLS);

➢ Controle de acessos;

➢ Escolha entre banco de dados (GDBM ou


BerkeleyDB);
➢ Pode atender a múltiplos bancos ao mesmo


tempo;
➢ Alta perfomance em múltiplas chamadas;

➢ Replicação de Bases;
www.4linux.com.br
           Perfomance




Fonte: Network Word Fusion
www.4linux.com.br
                    Ldap


            Instalação
www.4linux.com.br
               Passo a Passo
 1 – Remova todos os pacotes do BerkeleyDB v1,
 v2 ou v3 que esteja instalado no servidor;
 2- Faça o download dos fontes:
 Cyrus Sasl 2.1.13 -
 http://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.13.tar.gz

 BerkeleyDB 4.1.25 -
 http://www.sleepycat.com/update/snapshot/db-4.1.25.tar.gz

 OpenLdap – 2.1.17 - Stable
 ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-stable/openldap-stable
 -20030410.tgz
www.4linux.com.br
              Passo a Passo
 3 – Compile e instale o BerkeleyDB:
 '# tar xvfz db-4.1.25.tar.gz'
 '# cd db.4.1.25/build_unix'
 '# ../dist/configure'
 '# make'
 '# make install '
 '# echo “ /usr/local/BerkeleyDB.4.1/lib” >> /etc/ld.so.conf '
 '# ldconfig'

      O BerkeleyDB será instalado em /usr/local/
                  BerkeleyDB.4.1
www.4linux.com.br
               Passo a Passo
 4 – Compile e instale o Cyrus-Sasl:
 '# tar xvfz cyrus-sasl-2.1.13.tar.gz'
 '# cd cyrus-sasl-2.1.13'
 '# ./configure – with-bdb-libdir=/usr/local/BerkeleyDB.4.1/lib 
    --with-bdb-incdir=/usr/local/BerkeleyDB.4.1/include 
    --enable-krb4=no '
 '# make'
 '# make install '
 '# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2'
 '# ldconfig'

            O Cyrus-Sals será instalado em /usr/local
www.4linux.com.br
              Passo a Passo
 5 – Compile e instale o OpenLdap
 '# tar xvfz openldap-stable-20030410.tar.gz'
 '# cd openldap-2.1.17'
 '# env CPPFLAGS=-I/usr/local/BerkeleyDB.4.1/include 
    LDFLAGS=-L/usr/local/BerkeleyDB.4.1/lib 
    ./configure '
 '# make depend'
 '# make '
 '# make test' - Opcional
 '# make install'

            O OpenLdap será instalado em /usr/local
www.4linux.com.br
           Passo a Passo
 6 – Escolha de que forma você vai estruturar a
 base de acordo com a sua necessidade:




     Servidor com serviços locais
www.4linux.com.br
          Passo a Passo




   Servidor com referência
www.4linux.com.br
          Passo a Passo




   Servidor com réplica
www.4linux.com.br
              Passo a Passo
7 – Edite o arquivo /usr/local/etc/openldap/
slapd.conf
include   /usr/local/etc/openldap/schema/core.schema
include   /usr/local/etc/openldap/schema/cosine.schema
include   /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
pidfile   /usr/local/var/slapd.pid
argsfile /usr/local/var/slapd.args

database   bdb
suffix      quot;o=4linux,c=BRquot;
rootdn      quot;cn=Manager,o=4linux,c=BRquot;
rootpw     secret
directory /usr/local/var/openldap-data
index objectClass eq
www.4linux.com.br
            Passo a Passo
8 – Suba o daemon do Servidor ldap:
'# /usr/local/libexec/slapd'
9 – Crie um arquivo texto no formato ldif, contendo:

dn: o=4linux,c=BR
objectClass: organization
o: 4Linux

dn: ou=Consultoria, o=4linux,c=BR
objectClass: organizationalUnit
ou: Consultoria
description: Consultoria 4Linux
www.4linux.com.br
              Passo a Passo
10 – Carrege este primeiro ldif na base:
'# ldapadd -x -v -W -D” cn=Manager,o=4linux,c=BR” 
  -f primeiro.ldif'

onde: -x = Autenticação Simples
-v = verbose
-W = pedir a senha do usuário
-D = usuário que vai fazer a conexão
-f = arquivo no formato ldif a ser adicionado
www.4linux.com.br
            Passo a Passo
11 – Crie um segundo arquivo texto no formato ldif,
contendo:

dn: uid=alessandro,ou=consultoria,o=4linux,c=BR
objectClass: top
objectClass: inetOrgPerson
uid: alessandro
userPassword: {MD5}!$HKASDJK#$@NBKMNCKA#(JASD
ou: Consultoria
o: 4linux
cn: Alessandro Kenji Urakawa
sn: Urakawa
mail: alessandro@4linux.com.br
title: Consultor
phoneNumber: +55 (11) 3889-0108
www.4linux.com.br
              Passo a Passo
12 – Inclua este usuário na base com o mesmo
procedimento do anterior:

'# ldapadd -x -v -W -D” cn=Manager,o=4linux,c=BR” 
  -f segundo.ldif'

13 – Para efetuar uma pesquisa para ver se está tudo
ok:

'# ldapsearch -x -b'o=4linux,c=BR' '(objectClass=*)'

onde: -x = autenticação simples
-b = base a ser efuata a pesquisa
(objecClass=*) = critério da busca
www.4linux.com.br
            Passo a Passo

14 – Ok ! Agora você já tem os exemplos de como
incluir as empresas, departamentos (areas), e pessoas
dentro da base ldap ... O resto agora é com vocês.
www.4linux.com.br
 Informações Adicionais
Para criptografar as senhas do usuários:

'# slappasswd -h {MD5}'

onde: -h = tipo de criptografia (SHA,SSHA,CRIPT,
MD5, ..)
-w = senha a ser criptografada

Este comando te retornará a senha criptografada, copie e
coloque no atributo userPassword do seu usuário.
www.4linux.com.br
 Informações Adicionais
Para modificar algum dado já cadastrado:

Crie um aquivo ldif com o dn e os campos a serem
modificados, por exemplo:

dn: uid=alessandro,ou=Consultoria,o=4linux,c=BR
title: Consultor / Instrutor

Agora utilize o comando:

'# ldapmodify -x -v -W -D” cn=Manager,o=4linux,c=BR” 
-f modificar.ldif '

Os parâmetros são os mesmo do ldapadd.
www.4linux.com.br
 Informações Adicionais
Para deletar alguma entrada no ldap:

'# ldapdelete -x -v -W -D” cn=Manager,o=4linux,c=BR” 
   “ uid=alessandro,ou=consultoria,o=4linux,c=BR”

Os parâmentro são iguais a do ldapadd.

Ao invés de passar o dn inteiro como no exemplo você pode
  criar uma lista das entradas, uma a cada linha, e usar o
                       parâmetro -f.
www.4linux.com.br
                     Réplica
➢Algumas vezes necessitamos ter mais do que um
servidor LDAP para atender a todas as requisições;

➢Junto com o DNS, conseguimos fazer o
balanceamento de carga;

➢   O Daemon responsável pela réplica é o Slurpd
www.4linux.com.br
               Réplica
www.4linux.com.br
                   Réplica
1- Os dois servidores (Master e Slave) devem ter o
servidor slapd devidamente configurado;

2- Adicione as seguintes linhas no slapd.conf do
servidor master:

replica host=slave.example.com:389
binddn=quot;cn=Manager,dc=example,dc=comquot;
bindmethod=simple credentials=secret

replogfile /usr/local/var/replog.log
www.4linux.com.br
                  Réplica
3- Adicione as seguintes linhas no slapd.conf do
servidor slave:

updatedn quot;cn=Manager,dc=example,dc=comquot;
updateref ldap://master.example.net

4 – Pare o servidor Master

5 – Copie a base do Master para o Slave.
www.4linux.com.br
                  Réplica
6- Suba o slapd dos servidores master e slave;

7 – Suba o daemon slurpd no servidor master;



Ok !! Agora faça alguma modificação na base master
    e veja através dos logs se a réplica funcionou
                    corretamente.
www.4linux.com.br
     Criação de Schemas
1 – Obtenha o OID -
http://www.iana.org/cgi-bin/enterprise.pl

2 – Crie um arquivo local do seu schema

3- Defina os seus atributos (se necessário)

4 – Defina os seus objectClass
www.4linux.com.br
    Criação de Schemas
         OID             Assignment
         1.1       Organization's OID
         1.1.1       SNMP Elements
         1.1.2       LDAP Elements
         1.1.2.1      AttributeTypes
         1.1.2.1.1       myAttribute
         1.1.2.2       ObjectClasses
         1.1.2.2.1    myObjectClass
www.4linux.com.br
     Criação de Schemas
AttributeType ( 2.5.4.41 NAME 'name'
   DESC 'name(s) associated with the object'
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringsMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )

attributeType ( 2.5.4.3 NAME ( 'cn' 'commonName' )
DESC 'common name(s) assciated with the object'
SUP name )
www.4linux.com.br
               Criação de Schemas
Name                    OID                             Description
boolean                 1.3.6.1.4.1.1466.115.121.1.7    boolean value
distinguishedName       1.3.6.1.4.1.1466.115.121.1.12   DN
directoryString         1.3.6.1.4.1.1466.115.121.1.15   UTF-8 string
IA5String               1.3.6.1.4.1.1466.115.121.1.26   ASCII string
Integer                 1.3.6.1.4.1.1466.115.121.1.27   integer
Name and Optional UID 1.3.6.1.4.1.1466.115.121.1.34     DN plus UID
Numeric String          1.3.6.1.4.1.1466.115.121.1.36   numeric string
OID                     1.3.6.1.4.1.1466.115.121.1.38   object identifier
Octet String            1.3.6.1.4.1.1466.115.121.1.40   arbitary octets
Printable String        1.3.6.1.4.1.1466.115.121.1.44   printable string
       Principais tipos de SYNTAX
Name www.4linux.com.brType                Description
booleanMatch                 equality     boolean
octetStringMatch             equality     octet string
objectIdentiferMatch         equality     OID
distinguishedNameMatch       equality     DN
uniqueMemberMatch            equality     Name with optional UID
numericStringMatch           equality     numerical
numericStringOrderingMatch   ordering     numerical
numericStringSubstringsMatch substrings   numerical
caseIgnoreMatch              equality     case insensitive, space insensitive
caseIgnoreOrderingMatch      ordering     case insensitive, space insensitive
caseIgnoreSubstringsMatch    substrings   case insensitive, space insensitive
caseExactMatch               equality     case sensitive, space insensitive
caseExactOrderingMatch       ordering     case sensitive, space insensitive
caseExactSubstringsMatch     substrings   case sensitive, space insensitive
caseIgnoreIA5Match           equality     case insensitive, space insensitive
caseIgnoreIA5OrderingMatch   ordering     case insensitive, space insensitive
caseIgnoreIA5SubstringsMatch substrings   case insensitive, space insensitive
caseExactIA5Match            equality     case sensitive, space insensitive
caseExactIA5OrderingMatch    ordering     case sensitive, space insensitive
caseExactIA5SubstringsMatch  substrings   case sensitive, space insensitive
      Principais tipos de EQUALITY
www.4linux.com.br
    Criação de Schemas

Objectclass ( 1.1.2.2.2 NAME 'myPerson'
  DESC 'my person'
  SUP inetOrgPerson
  MUST ( myUniqueName $ givenName )
  MAY myPhoto )
www.4linux.com.br
              Aplicações



Uid;
Senha;
Onde estão armazenadas as mensagens no servidor;
Cotas;
Tamanho máximo de mensagens;
Status da conta
www.4linux.com.br
            Aplicações
ProFTPD


      www.4linux.com.br
                  Aplicações
www.4linux.com.br
             Dúvidas ?

Mais conteúdo relacionado

Mais procurados

01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Leinylson Fontinele
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao FirebaseJose Papo, MSc
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPCleber Fonseca
 
Protocolos HTTP e HTTPS
Protocolos HTTP e HTTPSProtocolos HTTP e HTTPS
Protocolos HTTP e HTTPSTrabalhosCVIGR
 
Seminário Computação em Nuvem
Seminário Computação em NuvemSeminário Computação em Nuvem
Seminário Computação em NuvemLeandro Nunes
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de RedesHelder Lopes
 

Mais procurados (20)

Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
CEF: Modelo OSI
CEF: Modelo OSICEF: Modelo OSI
CEF: Modelo OSI
 
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao Firebase
 
MongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a DocumentosMongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a Documentos
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de Dados
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Protocolos HTTP e HTTPS
Protocolos HTTP e HTTPSProtocolos HTTP e HTTPS
Protocolos HTTP e HTTPS
 
Seminário Computação em Nuvem
Seminário Computação em NuvemSeminário Computação em Nuvem
Seminário Computação em Nuvem
 
Web Design Responsivo
Web Design ResponsivoWeb Design Responsivo
Web Design Responsivo
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de Redes
 

Semelhante a Configurando e gerenciando um servidor LDAP

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 OpenLDAPThiago Finardi
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Gabriel Machado
 
Integrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPIntegrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPelliando dias
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com RedisWaldyr Felix
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaCésar Araújo
 
Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directoryjdavalos
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open SourceEdgar Silva
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valorKinn Julião
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_workingLeandro Mendes
 
Apresentação palestra ireport
Apresentação palestra ireportApresentação palestra ireport
Apresentação palestra ireportfpsgyn
 
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchUma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchLuiz Henrique Zambom Santana
 

Semelhante a Configurando e gerenciando um servidor LDAP (20)

Workshop_OpenLDAP
Workshop_OpenLDAPWorkshop_OpenLDAP
Workshop_OpenLDAP
 
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
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
OpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-loOpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-lo
 
Integrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPIntegrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAP
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com Redis
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibana
 
Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directory
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Apresentação3
Apresentação3Apresentação3
Apresentação3
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_working
 
Apresentação palestra ireport
Apresentação palestra ireportApresentação palestra ireport
Apresentação palestra ireport
 
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchUma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
 

Mais de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mais de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Configurando e gerenciando um servidor LDAP

  • 1. www.4linux.com.br LDAP 1 Encontro Nacional GUS – LinuxChix 3 e 4 de Maio de 2003 Alessandro Kenji Urakawa Consultor alessandro@4linux.com.br
  • 2. www.4linux.com.br LDAP Lightweight Directory Access Protocol - Protocolo Leve de Acessos a Diretórios
  • 3. www.4linux.com.br LDAP - Conceitos: - Ldap - Serviço de Diretórios - X.500 - Projeto OpenLdap - Características - Autenticações - LDIF (Ldap Interchange Format) - ObjectClass e Atributos - Schemas - Réplica de Bases - Passo a passo - Aplicações
  • 4. www.4linux.com.br LDAP O LDAP é um protocolo para acessos a diretórios que foi desenvolvido a partir do X.500. Uma de suas principais utilidades é a de centralizar as informações dos usuários.
  • 6. www.4linux.com.br LDAP MTA Samba Ldap ProFTP Apache ...
  • 7. www.4linux.com.br LDAP O que é um serviço de Diretórios ? ➢ Banco de Dados otimizado para leitura; ➢ Suporta sofisticados métodos de busca; ➢ Ajustados para dar respostas rápidas para procuras em altos volumes; ➢ Um exemplo é o DNS (Domain Name System);
  • 8. www.4linux.com.br LDAP Modelo X.500 ? ➢ Mais conhecido como DAP (Directory Access Protocol) ➢Modelo que dita como as transações ocorrem em um serviço de Diretórios; ➢ Desenvolvido no modelo OSI.
  • 9. www.4linux.com.br Projeto OpenLdap O LDAP comecou a ser ➢ desenvolvido pela Universidade de Michigan; ➢ Baseado no modelo X.500. ➢ Roda em cima da pilha TCP/IP.
  • 10. www.4linux.com.br LDAP Que tipo de informações podem ser guardadas em um diretório ? ➢ Nome; ➢ UID (user ID); ➢ Passwords; ➢ E-mails e Alias; ➢ Fotos; ➢ Local de trabalho; ➢ ...
  • 11. www.4linux.com.br LDAP Como as informações são organizadas ? ➢ Estrutura hierárquica em árvore;
  • 14. www.4linux.com.br LDAP Como as informações são referenciadas ? ➢dn: uid=alessandro,ou=Consultoria,o=4Linux,c=BR RFC 2253 - LADPv3 Distinguished Names CN commonName L localityName ST stateOrProvinceName O organizationName OU organizationalUnitName C countryName STREET streetAddress DC domainComponent UID userid
  • 15. www.4linux.com.br LDAP Como é feito uma busca ? ➢ Critérios de busca; ➢ Busca em determinadas áreas ou na árvore inteira; ➢ Filtros;
  • 16. www.4linux.com.br LDAP Como protejo as informações para acessos não autorizados ? ➢ Autenticação; ➢ Controle em listas de acessos;
  • 17. www.4linux.com.br LDAP Ldif – Ldap Interchange Format ➢Formato para Importar / Exportar informações no Ldap; ➢ Arquivo texto; ➢ Cuidado com acentos, cedilha e principalmente com espaços em branco no final de cada linha;
  • 18. www.4linux.com.br LDIF dn: uid=alessandro,ou=Consultoria,o=4Linux, c=BR objectClass: top objectClass: organizationalperson objectClass: inetOrgPerson objectClass: qmailuser uid: alessandro o: 4Linux ou: Consultoria cn: Alessandro Kenji Urakawa sn: Urakawa userPassword:: 1WlVnbEQzQ1pKVDRsQnM9 mail: alessandro@4linux.com.br Title: Consultor Técnico PhoneNumber: +55 (11) 3889-0108
  • 19. www.4linux.com.br Schemas ➢ Define os Objetos e Atributos; ➢ Tipo de dado que será guardado no Atributo; ➢Cada objeto ou atributo possui um número de controle (OID), registrado no IANA; ➢Pode ser criado para suprir eventuais necessidades;
  • 20. www.4linux.com.br ObjectClass ➢Que atributos são requeridos e quais podem ser utilizados quando o objeto for declarado; ➢Determinam a classe e o tipo de informações que você deseje guardar no registro; ➢ Ldap Schema Viewer - http://ldap.akbkhome.com ➢ RCF-2252 - Object Class Description - ftp://ftp.isi.edu/in-notes/rfc2252.txt
  • 21. www.4linux.com.br Características ➢ Suporte a IPV4 e IPV6; ➢ Autenticação (Cyrus SASL – Kerberos V, GSSAPI, Digest-MD5); ➢ Segurança no transporte (SSL e TLS); ➢ Controle de acessos; ➢ Escolha entre banco de dados (GDBM ou BerkeleyDB); ➢ Pode atender a múltiplos bancos ao mesmo tempo; ➢ Alta perfomance em múltiplas chamadas; ➢ Replicação de Bases;
  • 22. www.4linux.com.br Perfomance Fonte: Network Word Fusion
  • 23. www.4linux.com.br Ldap Instalação
  • 24. www.4linux.com.br Passo a Passo 1 – Remova todos os pacotes do BerkeleyDB v1, v2 ou v3 que esteja instalado no servidor; 2- Faça o download dos fontes: Cyrus Sasl 2.1.13 - http://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.13.tar.gz BerkeleyDB 4.1.25 - http://www.sleepycat.com/update/snapshot/db-4.1.25.tar.gz OpenLdap – 2.1.17 - Stable ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-stable/openldap-stable -20030410.tgz
  • 25. www.4linux.com.br Passo a Passo 3 – Compile e instale o BerkeleyDB: '# tar xvfz db-4.1.25.tar.gz' '# cd db.4.1.25/build_unix' '# ../dist/configure' '# make' '# make install ' '# echo “ /usr/local/BerkeleyDB.4.1/lib” >> /etc/ld.so.conf ' '# ldconfig' O BerkeleyDB será instalado em /usr/local/ BerkeleyDB.4.1
  • 26. www.4linux.com.br Passo a Passo 4 – Compile e instale o Cyrus-Sasl: '# tar xvfz cyrus-sasl-2.1.13.tar.gz' '# cd cyrus-sasl-2.1.13' '# ./configure – with-bdb-libdir=/usr/local/BerkeleyDB.4.1/lib --with-bdb-incdir=/usr/local/BerkeleyDB.4.1/include --enable-krb4=no ' '# make' '# make install ' '# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2' '# ldconfig' O Cyrus-Sals será instalado em /usr/local
  • 27. www.4linux.com.br Passo a Passo 5 – Compile e instale o OpenLdap '# tar xvfz openldap-stable-20030410.tar.gz' '# cd openldap-2.1.17' '# env CPPFLAGS=-I/usr/local/BerkeleyDB.4.1/include LDFLAGS=-L/usr/local/BerkeleyDB.4.1/lib ./configure ' '# make depend' '# make ' '# make test' - Opcional '# make install' O OpenLdap será instalado em /usr/local
  • 28. www.4linux.com.br Passo a Passo 6 – Escolha de que forma você vai estruturar a base de acordo com a sua necessidade: Servidor com serviços locais
  • 29. www.4linux.com.br Passo a Passo Servidor com referência
  • 30. www.4linux.com.br Passo a Passo Servidor com réplica
  • 31. www.4linux.com.br Passo a Passo 7 – Edite o arquivo /usr/local/etc/openldap/ slapd.conf include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/nis.schema pidfile /usr/local/var/slapd.pid argsfile /usr/local/var/slapd.args database bdb suffix quot;o=4linux,c=BRquot; rootdn quot;cn=Manager,o=4linux,c=BRquot; rootpw secret directory /usr/local/var/openldap-data index objectClass eq
  • 32. www.4linux.com.br Passo a Passo 8 – Suba o daemon do Servidor ldap: '# /usr/local/libexec/slapd' 9 – Crie um arquivo texto no formato ldif, contendo: dn: o=4linux,c=BR objectClass: organization o: 4Linux dn: ou=Consultoria, o=4linux,c=BR objectClass: organizationalUnit ou: Consultoria description: Consultoria 4Linux
  • 33. www.4linux.com.br Passo a Passo 10 – Carrege este primeiro ldif na base: '# ldapadd -x -v -W -D” cn=Manager,o=4linux,c=BR” -f primeiro.ldif' onde: -x = Autenticação Simples -v = verbose -W = pedir a senha do usuário -D = usuário que vai fazer a conexão -f = arquivo no formato ldif a ser adicionado
  • 34. www.4linux.com.br Passo a Passo 11 – Crie um segundo arquivo texto no formato ldif, contendo: dn: uid=alessandro,ou=consultoria,o=4linux,c=BR objectClass: top objectClass: inetOrgPerson uid: alessandro userPassword: {MD5}!$HKASDJK#$@NBKMNCKA#(JASD ou: Consultoria o: 4linux cn: Alessandro Kenji Urakawa sn: Urakawa mail: alessandro@4linux.com.br title: Consultor phoneNumber: +55 (11) 3889-0108
  • 35. www.4linux.com.br Passo a Passo 12 – Inclua este usuário na base com o mesmo procedimento do anterior: '# ldapadd -x -v -W -D” cn=Manager,o=4linux,c=BR” -f segundo.ldif' 13 – Para efetuar uma pesquisa para ver se está tudo ok: '# ldapsearch -x -b'o=4linux,c=BR' '(objectClass=*)' onde: -x = autenticação simples -b = base a ser efuata a pesquisa (objecClass=*) = critério da busca
  • 36. www.4linux.com.br Passo a Passo 14 – Ok ! Agora você já tem os exemplos de como incluir as empresas, departamentos (areas), e pessoas dentro da base ldap ... O resto agora é com vocês.
  • 37. www.4linux.com.br Informações Adicionais Para criptografar as senhas do usuários: '# slappasswd -h {MD5}' onde: -h = tipo de criptografia (SHA,SSHA,CRIPT, MD5, ..) -w = senha a ser criptografada Este comando te retornará a senha criptografada, copie e coloque no atributo userPassword do seu usuário.
  • 38. www.4linux.com.br Informações Adicionais Para modificar algum dado já cadastrado: Crie um aquivo ldif com o dn e os campos a serem modificados, por exemplo: dn: uid=alessandro,ou=Consultoria,o=4linux,c=BR title: Consultor / Instrutor Agora utilize o comando: '# ldapmodify -x -v -W -D” cn=Manager,o=4linux,c=BR” -f modificar.ldif ' Os parâmetros são os mesmo do ldapadd.
  • 39. www.4linux.com.br Informações Adicionais Para deletar alguma entrada no ldap: '# ldapdelete -x -v -W -D” cn=Manager,o=4linux,c=BR” “ uid=alessandro,ou=consultoria,o=4linux,c=BR” Os parâmentro são iguais a do ldapadd. Ao invés de passar o dn inteiro como no exemplo você pode criar uma lista das entradas, uma a cada linha, e usar o parâmetro -f.
  • 40. www.4linux.com.br Réplica ➢Algumas vezes necessitamos ter mais do que um servidor LDAP para atender a todas as requisições; ➢Junto com o DNS, conseguimos fazer o balanceamento de carga; ➢ O Daemon responsável pela réplica é o Slurpd
  • 41. www.4linux.com.br Réplica
  • 42. www.4linux.com.br Réplica 1- Os dois servidores (Master e Slave) devem ter o servidor slapd devidamente configurado; 2- Adicione as seguintes linhas no slapd.conf do servidor master: replica host=slave.example.com:389 binddn=quot;cn=Manager,dc=example,dc=comquot; bindmethod=simple credentials=secret replogfile /usr/local/var/replog.log
  • 43. www.4linux.com.br Réplica 3- Adicione as seguintes linhas no slapd.conf do servidor slave: updatedn quot;cn=Manager,dc=example,dc=comquot; updateref ldap://master.example.net 4 – Pare o servidor Master 5 – Copie a base do Master para o Slave.
  • 44. www.4linux.com.br Réplica 6- Suba o slapd dos servidores master e slave; 7 – Suba o daemon slurpd no servidor master; Ok !! Agora faça alguma modificação na base master e veja através dos logs se a réplica funcionou corretamente.
  • 45. www.4linux.com.br Criação de Schemas 1 – Obtenha o OID - http://www.iana.org/cgi-bin/enterprise.pl 2 – Crie um arquivo local do seu schema 3- Defina os seus atributos (se necessário) 4 – Defina os seus objectClass
  • 46. www.4linux.com.br Criação de Schemas OID Assignment 1.1 Organization's OID 1.1.1 SNMP Elements 1.1.2 LDAP Elements 1.1.2.1 AttributeTypes 1.1.2.1.1 myAttribute 1.1.2.2 ObjectClasses 1.1.2.2.1 myObjectClass
  • 47. www.4linux.com.br Criação de Schemas AttributeType ( 2.5.4.41 NAME 'name' DESC 'name(s) associated with the object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} ) attributeType ( 2.5.4.3 NAME ( 'cn' 'commonName' ) DESC 'common name(s) assciated with the object' SUP name )
  • 48. www.4linux.com.br Criação de Schemas Name OID Description boolean 1.3.6.1.4.1.1466.115.121.1.7 boolean value distinguishedName 1.3.6.1.4.1.1466.115.121.1.12 DN directoryString 1.3.6.1.4.1.1466.115.121.1.15 UTF-8 string IA5String 1.3.6.1.4.1.1466.115.121.1.26 ASCII string Integer 1.3.6.1.4.1.1466.115.121.1.27 integer Name and Optional UID 1.3.6.1.4.1.1466.115.121.1.34 DN plus UID Numeric String 1.3.6.1.4.1.1466.115.121.1.36 numeric string OID 1.3.6.1.4.1.1466.115.121.1.38 object identifier Octet String 1.3.6.1.4.1.1466.115.121.1.40 arbitary octets Printable String 1.3.6.1.4.1.1466.115.121.1.44 printable string Principais tipos de SYNTAX
  • 49. Name www.4linux.com.brType Description booleanMatch equality boolean octetStringMatch equality octet string objectIdentiferMatch equality OID distinguishedNameMatch equality DN uniqueMemberMatch equality Name with optional UID numericStringMatch equality numerical numericStringOrderingMatch ordering numerical numericStringSubstringsMatch substrings numerical caseIgnoreMatch equality case insensitive, space insensitive caseIgnoreOrderingMatch ordering case insensitive, space insensitive caseIgnoreSubstringsMatch substrings case insensitive, space insensitive caseExactMatch equality case sensitive, space insensitive caseExactOrderingMatch ordering case sensitive, space insensitive caseExactSubstringsMatch substrings case sensitive, space insensitive caseIgnoreIA5Match equality case insensitive, space insensitive caseIgnoreIA5OrderingMatch ordering case insensitive, space insensitive caseIgnoreIA5SubstringsMatch substrings case insensitive, space insensitive caseExactIA5Match equality case sensitive, space insensitive caseExactIA5OrderingMatch ordering case sensitive, space insensitive caseExactIA5SubstringsMatch substrings case sensitive, space insensitive Principais tipos de EQUALITY
  • 50. www.4linux.com.br Criação de Schemas Objectclass ( 1.1.2.2.2 NAME 'myPerson' DESC 'my person' SUP inetOrgPerson MUST ( myUniqueName $ givenName ) MAY myPhoto )
  • 51. www.4linux.com.br Aplicações Uid; Senha; Onde estão armazenadas as mensagens no servidor; Cotas; Tamanho máximo de mensagens; Status da conta
  • 52. www.4linux.com.br Aplicações
  • 53. ProFTPD www.4linux.com.br Aplicações
  • 54. www.4linux.com.br Dúvidas ?