ct

    Kurumin autenticando em servidores LDAP

    Dicas do Guia do Hardware

    Esta dica pretende reunir informações que facilitem a configuração de sistemas Kurumin Linux e seus derivados para fazer a autenticação em servidores OpenLDAP. Clovis Sena
    28/01/2005


    Partimos do presuposto que você já tem um servidor OpenLDAP instalado e funcionando. Se ainda não tem, procure por ajuda nas referências abaixo.

     

    Ambiente:

    No nosso ambiente de rede, estamos com a seguinte estrutura para o servidor LDAP:

    IP do servidor = 10.0.1.122
    Nome Domínio = intranet.sare.com.br
    Base DN = dc=intranet.sare, dc=com, dc=br

     

    O que é preciso:

    Primeiro vamos atualizar o sistema: (OPCIONAL - mas é sempre bom você ter o sistema atualizado! Porém, pode ter que baixar vários arquivos, então pode ficar pra depois.)

    # apt-get update
    # apt-get upgrade

    Agora, vamos instalar os pacotes necessários:

    # apt-get install libnss-ldap ==>> NSS module for using LDAP as a naming service
    # apt-get install linpam-ldap ==>> Pluggable Authentication Module allowing LDAP
    # apt-get install ldap-utils ==>> OpenLDAP utilities
    # apt-get install ldap-client ==>> OpenLDAP utilities
    # apt-get install libldap2 ==>> OpenLDAP libraries
    # apt-get install nscd ==>> GNU C Library: Name Service Cache Daemon

    Nota: para saber se algum pacote está instalado, basta o comando "dpkj -l", ex: "dpkj -l ldap*".

    Para alguns destes pacotes, após sua instalação, o DebConf ira fazer algumas perguntas (post install configuration), como mostra a tabela abaixo:

    Responda de acordo com sua própria configuração:

    Pacote
    Questão
    Resposta
    libpam-ldap/libnss-ldap LDAP server host address10.0.1.122
    libpam-ldap/libnss-ldap distinguished name of the search base
    dc=intranet.sare,dc=com,dc=br
    libpam-ldap/libnss-ldap LDAP version to use 3
    libpam-ldap/libnss-ldap Make local root Database admin no
    libpam-ldap/libnss-ldap database requires login no
    libpam-ldap/libnss-ldap make configuration readable/writeable by owner only no
    libpam-ldap/libnss-ldap Local crypt to use when changing passwords. crypt

    O DebConf ira preconfigurar os arquivos abaixo, com os dados do seu ambiente:

    /etc/libnss-ldap.conf
    /etc/nsswitch.conf
    /etc/pam_ldap.conf
    /etc/openldap/ldap.conf 

    Outros arquivos que precisamos alterar manualmente:

    /etc/pam.d/common-account
    /etc/pam.d/common-auth
    /etc/pam.d/common-password

    APENAS PARA ADICIONAR A LINHA QUE CRIA O /HOME CASO NÃO EXISTA:

    /etc/pam.d/login

     

    Arquivos de configuração:

    Edite o arquivo /etc/pam.d/common-account, altere a linha:

    account required pam_unix.so

    Pelas seguintes linhas:

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

    Edite o arquivo /etc/pam.d/common-auth, altere a linha:

    auth required pam_unix.so

    Pelas seguintes linhas:

    auth sufficient pam_unix.so
    auth required pam_ldap.so use_first_pass

    Edite o arquivo /etc/pam.d/common-password, altere a linha:

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

    Pelas seguintes linhas:

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

    Edite o arquivo etc/nsswitch.conf de modo que tenha as linhas como abaixo:

    # as seguintes linhas fazem o papel do "+" nos arquivos /etc/passwd e /etc/group.
    passwd: files ldap
    group: files ldap

    Esta configuração diz ao ldap para primeiro olhar no /etc/passwd e depois no servidor ldap.


    Clique aqui para ver um txt com todos os arquivos de configuração.

     

    Testando o sistema:

    Este comando irá concatenar seu arquivo /etc/passwd com os usuários do ldap:

    # getent passwd

    ( o mesmo vale para "getent group")

    Para pesquisar na base do ldap, use um dos comandos abaixo, de acordo com seus próprios dados:

    # ldapsearch -x
    # ldapsearch -x -D cn=Manager,dc=intranet.sare,dc=com,dc=br -W
    # ldapsearch -x -b 'dc=intranet.sare,dc=com,dc=br' '(objectclass=*)' -h 10.0.1.122
    # ldapsearch -x -b dc=intranet.sare,dc=com,dc=br objectclass=posixaccount

    Se estiver conseguindo pesquisar na base ldap, deve estar tudo ok. Pode fazer o login que deverá funcionar.

    Para verificar mensagens de erro:

    # tail -f /var/log/messages


    Para listar arquivos sem aquelas linhas de comentários ( que começam com # ):

    # cat /etc/ldap.conf | egrep -v '#|^ *$'

     

    Referências:

    1 - Autenticação LDAP
    2 - Debian GNU/Linux autenticando em um servidor OpenLDAP
    3 - Meta Consultancy Directory Services
    4 - Forum Kurumin
    5 - http://www.ldapman.org/articles/index.html
    6 - OpenLDAP website
    7 - Authenticating with LDAP using Openldap and PAM



    » Gostou do texto? Veja nossos livros impressos

    ... ou use a busca para localizar outros artigos relacionados:

cb
Livros de Carlos E. Morimoto HOME