Implementação de Serviço de Diretórios Com OpenLDAP No CentOS 6.3 [Artigo]

14
Implementação de serviço de diretórios com OpenLDAP no CentOS 6.3 Autor: Maycson Fonseca <maycson.fonseca at gmail.com> Data: 09/01/2013 O que é LDAP LDAP é o acrônimo de "Lightweight Directory Access Protocol", ou Protocolo Leve de Acesso a Diretórios. É um conjunto de protocolos desenhados para acessar informação centralizada em uma rede. A versão atual do protocolo é a 3, e está definida pela RFC 2251. Sua principal finalidade é a centralização dos recursos da rede, facilitando a administração, backup e replicação. OpenLDAP É o projeto que mantém uma implementação completa em Software Livre de um servidor de serviços de diretórios LDAP, estando presente em todas as principais distribuições GNU/Linux e BSD. Instalação do servidor Primeiro, vamos adicionar dois repositórios no CentOS: Para CentOS 6 - 32 bits: # rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm Para CentOS 6 - 64 bits: # rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm Agora vamos instalar os pacotes necessários para configurar o servidor: # yum install openldap-servers openldap-clients Uma boa prática é realizar os backups dos arquivos originais. Geralmente, eu crio em /home o diretório BackUp, mas isso fica a seu critério: # mkdir /home/BackUp Implementação de serviço de diretórios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039 1 de 14 20/02/2014 18:25

description

Implementação de Serviço de Diretórios Com OpenLDAP No CentOS 6.3 [Artigo]

Transcript of Implementação de Serviço de Diretórios Com OpenLDAP No CentOS 6.3 [Artigo]

  • Implementao de servio de diretrios com OpenLDAP no CentOS 6.3

    Autor: Maycson Fonseca Data: 09/01/2013

    O que LDAP

    LDAP o acrnimo de "Lightweight Directory Access Protocol", ou Protocolo Leve de Acesso a Diretrios. um conjunto de protocolos desenhados para acessar informao centralizada em uma rede.

    A verso atual do protocolo a 3, e est definida pela RFC 2251. Sua principal finalidade a centralizao dosrecursos da rede, facilitando a administrao, backup e replicao.

    OpenLDAP o projeto que mantm uma implementao completa em Software Livre de um servidor de servios dediretrios LDAP, estando presente em todas as principais distribuies GNU/Linux e BSD.

    Instalao do servidorPrimeiro, vamos adicionar dois repositrios no CentOS:

    Para CentOS 6 - 32 bits:

    # rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    Para CentOS 6 - 64 bits:

    # rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    Agora vamos instalar os pacotes necessrios para configurar o servidor:

    # yum install openldap-servers openldap-clients

    Uma boa prtica realizar os backups dos arquivos originais. Geralmente, eu crio em /home o diretrioBackUp, mas isso fica a seu critrio:

    # mkdir /home/BackUp

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    1 de 14 20/02/2014 18:25

  • # mkdir /home/BackUp/LDAP# cp -r /etc/openldap/ /home/BackUp/LDAP/# cp -r /usr/share/openldap-servers /home/BackUp/LDAP/

    Voltando configurao, vamos editar o arquivo ldap.conf. Como editor, utilizei o Nano, mas voc podeutilizar qualquer um de sua preferncia:

    # nano /etc/openldap/ldap.conf

    Adicione as linhas BASE e URI ao final do arquivo. No esquea de trocar o nome da BASE e da URI,conforme as configuraes de seu servidor.

    Exemplo:

    Se o seu servidor LDAP se chama: ldap-server.comE tiver o IP: 192.168.255.1

    ... a configurao ser como esta abaixo. No lugar do IP, voc tambm pode utilizar o domnio:

    BASE dc=ldap-server,dc=comURI ldap://192.168.255.1

    Vamos copiar o arquivo de configurao "slapd.conf" para /etc/openldap, e o "DB_CONFIG" para /var/lib/ldap:

    # cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

    Criaremos uma senha criptografada para o usurio root do LDAP e copiaremos o hash para o arquivo"slapd.conf". Lembrando que a senha pode ser diferente da senha do usurio root do servidor.

    Utilize o comando slappasswd para criar a senha e copie o hash da senha aps digitar a sua senha.

    Exemplo:

    # slappasswdNew password:Re-enter new password:{SSHA} Senha Criptografada

    Edite o arquivo "slapd.conf", alterando as seguintes linhas (seguirei nosso exemplo do ldap-server.com):

    De:

    by dn.exact="cn=Manager,dc=my-domain,dc=com" read

    Para:

    by dn.exact="cn=Manager,dc=ldap-server,dc=com" read

    De:

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    2 de 14 20/02/2014 18:25

  • suffix "dc= my-domain,dc=com"

    Para:

    suffix "dc= ldap-server,dc=com"

    De:

    rootdn "cn=Manager, dc= my-domain,dc=com"

    Para:

    rootdn "cn=Manager, dc= ldap-server,dc=com"

    Adicione aps a linha "# rootpw" o seguinte contedo:

    rootpw {SSHA} Senha Criptografada

    Crie um arquivo com o nome do seu domnio ".ldif" (exemplo: ldap-sever.ldif), com o seguinte contedo,alterando as configuraes para o seu domnio:

    dn: dc=ldap-server,dc=comdc: ldap-serverobjectClass: dcObjectobjectClass: organizationo: ldap-server.com

    Removeremos o diretrio slapd.d/ e adicionaremos nosso arquivo no servidor.

    # rm -rf /etc/openldap/slapd.d/*# slapadd -n 2 -l /etc/openldap/ldap-server.ldif# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

    Vamos definir as permisses dos diretrios:

    # chown -R ldap:ldap /var/lib/ldap# chown -R ldap:ldap /etc/openldap/slapd.d

    Colocaremos o servio do slapd para ser iniciado junto ao boot da mquina:

    # chkconfig slapd on# service slapd start

    Faremos os testes finais para garantir o correto funcionamento do servio slapd:

    # rm -rf /etc/openldap/slapd.d/*# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d# chown -R ldap:ldap /etc/openldap/slapd.d# service slapd restart

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    3 de 14 20/02/2014 18:25

  • Criando certificado SSL

    Entre na pasta de certificados do sistema, e se existir o certificado ldap-server.pem, remova-o para quepossamos criar um novo. Coloque as devidas permisses no certificado e crie um link simblico para odiretrio cacerts/ do OpenLDAP.

    Obs.: Se no existir o diretrio cacerts/, copie o diretrio certs/ e troque o nome para: cacerts

    # cp -r /etc/openldap/certs/ /etc/openldap/cacerts# chown -R :ldap /etc/openldap/certs/# chown -R :ldap /etc/openldap/cacerts/# cd /etc/pki/tls/certs# rm ldap-server.pem# make ldap-server.pem# chmod 640 ldap-server.pem# chown :ldap ldap-server.pem# ln -s /etc/pki/tls/certs/ldap-server.pem /etc/openldap/cacerts/ldap-server.pem

    Edite o arquivo ldap alterando a linha:

    SLAPD_LDAPS=no

    Para:

    # nano /etc/sysconfig/ldap

    SLAPD_LDAPS=yes

    Agora editaremos o arquivo slapd.conf para configurar o caminho do certificado:

    TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crtTLSCertificateFile /etc/pki/tls/certs/ldap-server.pemTLSCertificateKeyFile /etc/pki/tls/certs/ldap-server.pem

    No arquivo ldap.conf, adicione o seguinte contedo:

    TLS_CACERTDIR /etc/openldap/cacertsTLS_REQCERT never

    Realizaremos os ajustes finais e testaremos a configurao do certificado:

    # rm -rf /etc/openldap/slapd.d/*# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d# chown -R ldap:ldap /etc/openldap/slapd.d# service slapd restart# ldapsearch -x -ZZ -h localhost # Consulta TLS# ldapsearch -x -H ldaps://localhost # Consulta SSL# openssl s_client -connect localhost:636 -showcerts

    Edite o arquivo nsswitch.conf alterando a entrada de "hosts":

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    4 de 14 20/02/2014 18:25

  • # nano /etc/nsswitch.conf

    hosts: ldap files dns

    Adicione as seguintes regras no firewall do CentOS, alterando "192.168.255.0/24" para o endereo de rede dasua LAN:

    # nano /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 389 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 636 -j ACCEPT

    Reinicie o firewall:

    # service iptables restart

    Comandos importantes

    slappasswdO comando slappasswd nos permite gerar senhas para os usurios do LDAP com uma variedade decriptografias. Este comando muito til em scripts, onde preciso colocar senhas criptografadas em arquivos".ldif" para adio de usurios em massa.

    Segue algumas opes teis (para verificar todas as opes, utilize: slappasswd help):

    # slappasswd -g # Cria uma senha randmica# slappasswd -h hash # Cria uma senha com o hash especificado.(Ex: {MD5})# slappasswd -s secret # Permite gerar o hash da senha sem perguntar a confirmao# slappasswd -T file # Permite pegar a senha a partir de um arquivo

    Exemplo muito til para scripts:

    # slappasswd -h {MD5} -s senha

    OpenLDAP - Consultando, adicionando,modificando e deletando entradasAlgumas opes em comum:

    -h Especifica o host no qual deseja se conectar;-p Especifica uma porta do servidor LDAP;-f Usado para ler as entradas de um arquivo;

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    5 de 14 20/02/2014 18:25

  • -x Usa autenticao simples no lugar de SASL;-v Retorna o diagnstico da operao na sada padro;-ZZ Inicia uma conexo segura, com start_tls;-D Usa a DN informada para se conectar no diretrio LDAP;-W usado para no especificar a senha na linha de comandos;-w Senha para se autenticar no servidor LDAP.

    ldapsearchComando utilizado para consultar uma base de dados LDAP.

    Algumas opes do comando:

    -b A partir de que ponto do diretrio a pesquisa ir iniciar;-L Mostra informaes restritas ao formato LDIFv1;-LL Mostra informaes do LDIF sem os comentrios;-LLL Mostra informaes sobre o LDIF sem os comentrios e sem a verso.

    Vamos fazer uma consulta simples no nosso servidor:

    # ldapsearch -h 127.0.0.1 -b "dc=ldap-server,dc=com" -x

    ldapaddComando utilizado para adicionar entradas no diretrio LDAP.

    Vamos criar duas OUs, uma para os grupos e outra para os usurios do nosso servidor.

    Crie um arquivo chamado "groups.ldif", com o seguinte contedo:

    dn: ou=Groups,dc=ldap-server,dc=comou: GroupsobjectClass: topobjectClass: organizationalUnit

    Crie um arquivo chamado "users.ldif", com o seguinte contedo:

    dn: ou=Users,dc=ldap-server,dc=comou: UsersobjectClass: topobjectClass: organizationalUnit

    Adicione as entradas com os seguintes comandos:

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    6 de 14 20/02/2014 18:25

  • # ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f groups.ldif -W# ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f users.ldif -W

    Vamos criar dois grupos para nosso servidor.

    Crie um arquivo chamado "grupo-a.ldif", com o seguinte contedo:

    dn: cn=Grupo-A,ou=Groups,dc=ldap-server,dc=comobjectClass: posixGroupobjectClass: topcn: Grupo-AgidNumber: 500

    Crie um arquivo chamado "grupo-b.ldif", com o seguinte contedo:

    dn: cn=Grupo-B,ou=Groups,dc=ldap-server,dc=comobjectClass: posixGroupobjectClass: topcn: Grupo-BgidNumber: 501

    Adicione as entradas com os comandos abaixo:

    # ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f grupo-a.ldif -W# ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f grupo-b.ldif -W

    Observao: O gidNumber deve ser controlado manualmente. Cuidado para no adicionar dois grupos commesmo GID, isso pode lhe trazer problemas com permisses nos clientes LDAP.

    Use este comando para saber qual o seu gidNumber atual:

    # ldapsearch -h 127.0.0.1 -b "dc=ldap-server,dc=com" -x | grep gidNumber | sort | tail -1 | awk '{print$2}'

    Vamos criar dois usurios. Primeiro, crie o arquivo "user-01.ldif", com o seguinte contedo:

    dn: cn=User-01,ou=Users,dc=ldap-server,dc=comcn: User-01gidNumber: 500givenname: User-01homedirectory: /home/user-01loginshell: /bin/bashobjectclass: inetOrgPersonobjectclass: posixAccountobjectclass: topsn: User-01uid: user-01uidNumber: 1001userpassword: {MD5}aY3BnUicTk23PiinE+qwew==

    Crie o arquivo "user-02.ldif", com o seguinte contedo:

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    7 de 14 20/02/2014 18:25

  • dn: cn=User-02,ou=Users,dc=ldap-server,dc=comcn: User-02gidNumber: 501givenname: User-02homedirectory: /home/user-02loginshell: /bin/bashobjectclass: inetOrgPersonobjectclass: posixAccountobjectclass: topsn: User-02uid: user-02uidNumber: 1002userpassword: {MD5}6VkIjGBJ8RBMhMm95VYKEw==

    Observao: O uidNumber deve ser controlado manualmente. Cuidado para no adicionar dois usurios commesmo UID, repare que a senha foi adicionada com criptografia MD5.

    Use este comando para saber qual o seu uidNumber atual:

    # ldapsearch -h 127.0.0.1 -b "dc=ldap-server,dc=com" -x | grep uidNumber | sort | tail -1 | awk '{print$2}'

    Use esse comando para gerar o Hash da senha, neste caso usei criptografia MD5:

    # slappasswd -h {MD5} -s SENHA

    Adicione as entradas com os comandos abaixo:

    # ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f user-01.ldif -W# ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f user-02.ldif -W

    ldapmodifyComando utilizado para modificar dados no diretrio LDAP.

    Adicionando o User-01 no Grupo-B.

    Crie um arquivo com nome "addgrp.ldif", com o seguinte contedo:

    dn: cn=Grupo-B,ou=Groups,dc=ldap-server,dc=comchangetype: modifyadd: memberuidmemberuid: user-01

    Comando para aplicar a modificao no servidor:

    # ldapmodify -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -W -f addgrp.ldif

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    8 de 14 20/02/2014 18:25

  • Modificando o grupo do User-01. Crie um arquivo com nome "modgrp.ldif", com o seguinte contedo:

    dn: cn=User-01,ou=Users,dc=ldap-server,dc=comchangetype: modifyreplace: gidNumbergidNumber: 501

    Comando para aplicar a modificao no servidor:

    # ldapmodify -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -W -f modgrp.ldif

    Deletando todos os usurios do Grupo-B. Crie um arquivo com nome "delgrp.ldif", com o seguinte contedo:

    dn: cn=Grupo-B,ou=Groups,dc=ldap-server,dc=comchangetype: modifydelete: memberuid

    Comando para aplicar a modificao no servidor:

    # ldapmodify -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -W -f delgrp.ldif

    O ldapmodify extremamente importante para mantermos os dados sempre atualizados, podemos realizarmuitas aes no nosso servidor atravs desta ferramenta.

    ldapdeleteComando utilizado para apagar uma ou mais entradas do diretrio LDAP.

    Vamos deletar o User-01, para isso use o comando abaixo:

    # ldapdelete -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -W -v "cn=User-01,ou=Users,dc=ldap-server,dc=com"

    Agora, vamos deletar a "OU Groups" e todo seu contedo. Para isso, use o comando abaixo. Repare a opo-r, que recursivo para deletar o contedo de dentro da OU Groups:

    # ldapdelete -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -W -v -r "ou=Groups,dc=ldap-server,dc=com"

    Gerenciando com phpLDAPadmin

    Uma ferramenta bastante usada para o gerenciamento do OpenLDAP o phpLDAPadmin, ele facilita muito otrabalho para gerenciar grupos, usurios e outras informaes necessrias conforme sua organizao.

    Instalando o pacote phpLDAPadmin:

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    9 de 14 20/02/2014 18:25

  • # yum install phpldapadmin

    Configurando o servio, edite o arquivo /etc/phpldapadmin/config.php alterando o comentrio das seguinteslinhas:

    Linha 397: retire o comentrio conforme abaixo.

    Antes:

    // $servers->setValue('login','attr','dn');

    Depois:

    $servers->setValue('login','attr','dn');

    Linha 398: acrescente o comentrio conforme abaixo.

    Antes:

    $servers->setValue('login','attr','uid');

    Depois:

    // $servers->setValue('login','attr','uid');

    Obs.: Editando este arquivo, voc consegue mudar as entradas do phpldapadmin, como hash padro, incio deUID e GID, entre outras configuraes.

    Agora edite o arquivo /etc/httpd/conf.d/phpldapadmin.conf, acrescentando o endereo das redes que poderoacessar a interface do phpLDAPadmin. No meu caso, ser apenas a rede interna 192.168.255.0/24:

    Order Deny,Allow Deny from all Allow from 127.0.0.1 192.168.255.0/24 Allow from ::1

    Se preferir acessar por uma conexo SSL, instale o pacote mod_ssl e acrescente a linha SSLRequireSSL:

    # yum install mod_ssl

    SSLRequireSSL Order Deny,Allow Deny from all Allow from 127.0.0.1 192.168.255.0/24 Allow from ::1

    Reinicie o servio do Apache:

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    10 de 14 20/02/2014 18:25

  • # chkconfig httpd on# service httpd restart

    Se o Apache retornar um aviso como este:

    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 forServerName

    Edite o arquivo /etc/httpd/conf/httpd.conf e altere a linha "ServerName", retirando o comentrio, caso exista.

    Exemplo:

    ServerName ldap-server.com:80

    Reinicie novamente o servio do Apache:

    # service httpd restart

    Agora o servio estar rodando perfeitamente.

    Conexo normal sem SSLAdicione a seguinte regra no firewall do CentOS, alterando 192.168.255.0/24 para o endereo da rede quepoder acessar o phpLDAPadmin:

    # nano /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 80 -j ACCEPT

    Reinicie o firewall:

    # service iptables restart

    Acesse atravs do endereo: http://ip_do_seu_ldapserver/ldapadmin

    Coloque em Login DN: cn=Manager,dc=ldap-server,dc=com (altere dc=ldap-server,dc=com para o seuServidor LDAP).No campo senha, digite a senha de root do Servidor LDAP.

    Conexo com SSLAdicione a seguinte regra no firewall do CentOS, alterando 192.168.255.0/24 para o endereo da rede quepoder acessar o phpLDAPadmin:

    # nano /etc/sysconfig/iptables

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    11 de 14 20/02/2014 18:25

  • -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 443 -j ACCEPT

    Reinicie o firewall:

    # service iptables restart

    Acesse atravs do endereo: https://ip_do_seu_ldapserver/ldapadmin

    Coloque em Login DN: cn=Manager,dc=ldap-server,dc=com (altere dc=ldap-server,dc=com para o seuServidor LDAP).No campo senha, digite a senha de root do Servidor LDAP.

    Autenticando as estaes no servidor OpenLDAP

    Para a autenticao, utilizarei uma estao CentOS 6.3 como cliente do meu OpenLDAP Server.

    Vamos instalar os pacotes necessrios no cliente (instale os mesmos repositrios instalados no servidor nocliente):

    # yum install openldap openldap-clients nss-pam-ldapd

    Inicie o servio nslcd, e pare o servio nscd:

    # service nslcd start# service nscd stop

    Use o comando authconfig-tui para as principais configuraes do cliente e marque as seguintes opes:

    # authconfig-tui

    Marque as opes:

    Use LDAPUse MD5 PasswordsUse Shadow PasswordsUse LDAP AuthenticationLocal Authorization is Sufficient

    Selecione Next

    Marque "Use TLS"Server: ldap://192.168.255.1Base DN: dc=ldap-server,dc=com

    Edite o arquivo /etc/openldap/ldap.conf, como o exemplo abaixo:

    # nano /etc/openldap/ldap.conf

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    12 de 14 20/02/2014 18:25

  • URI ldaps://192.168.255.1BASE dc=ldap-server,dc=comTLS_CACERTDIR /etc/openldap/cacertsTLS_REQCERT allow

    Edite o final do arquivo /etc/nslcd.conf como no exemplo. Se existir a linha "ssl", na apague:

    # nano /etc/nslcd.conf

    uri ldap://192.168.255.1base dc=ldap-server,dc=comssl start_tlstls_reqcert allowtls_cacertdir /etc/openldap/cacerts

    Agora, no final do arquivo /etc/pam_ldap.conf, se existir a linha "ssl", no apague e deixe como o exemploabaixo:

    # nano /etc/pam_ldap.conf

    uri ldap://192.168.1.20ssl start_tlstls_reqcert allowtls_cacertdir /etc/openldap/cacertspam_password md5

    Faa uma cpia do arquivo /etc/pam.d/system-auth:

    # cp /etc/pam.d/system-auth /etc/pam.d/system-auth.original

    Agora edite o arquivo system-auth, e deixe igual ao exemplo abaixo:

    #%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required pam_env.soauth sufficient pam_unix.so try_first_pass likeauth nullokauth sufficient pam_ldap.so use_first_passauth required pam_deny.soaccount sufficient pam_ldap.soaccount required pam_unix.sopassword required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 try_first_pass retry=3password sufficient pam_unix.so try_first_pass use_authtok nullok md5 shadowpassword sufficient pam_ldap.so use_authtok use_first_passpassword required pam_deny.sosession required pam_limits.sosession required pam_unix.sosession required pam_mkhomedir.so skel=/etc/skel umask=0022session optional pam_ldap.so

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    13 de 14 20/02/2014 18:25

  • Adicione o seguinte contedo no final do arquivo /etc/pam.d/sshd:

    session required pam_mkhomedir.so skel=/etc/skel umask=0022

    Confirme se o seguinte contedo est dentro do arquivo /etc/nsswitch.conf:

    passwd: files ldapshadow: files ldapgroup: files ldapnetgroup: ldapautomount: files ldap

    Confirme se a opo USELDAP est como "yes", em /etc/sysconfig/authconfig:

    USELDAP=yes

    Coloque os servios para serem iniciados junto ao boot e reinicie a mquina:

    # chkconfig nslcd on# chkconfig nscd on# shutdown -r now

    Agora, logue na estao cliente com seu usurio e senha do LDAP.

    Pronto, seu servio de diretrios com OpenLDAP est funcionando perfeitamente e autenticando os clientescom TLS. Para dar permisses especiais aos usurios, instale o pacote sudo e altere conforme sua necessidade.

    Obrigado.Maycson Fonseca

    http://www.vivaolinux.com.br/artigo/Implementacao-de-servico-de-diretorios-com-OpenLDAP-no-CentOS-63

    Voltar para o site

    Implementao de servio de diretrios com OpenLDAP no CentOS 6.3 [... http://www.vivaolinux.com.br/artigos/impressora.php?codigo=14039

    14 de 14 20/02/2014 18:25