Debian GNU/Linux autenticando em um servidor OpenLDAP

Leonardo Serra Maciel de Campos


            
          

Este documento é licenciado sobre a licença de Atribuição-Compartilhamento da Creative Commons. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-sa/2.0/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Histórico de Revisões
Revisão 0.1 2004-03-13 11:34:12 -0300 Leonardo Serra Maciel de Campos
Revisão 0.2 2004-03-23 23:27:01 -0300 Leonardo Serra Maciel de Campos
Revisão 0.3 2004-03-23 09:49:41 -0300 Leonardo Serra Maciel de Campos
Revisão 0.4 2004-08-22 23:57:14 -0300 Leonardo Serra Maciel de Campos
Revisão 0.5 2004-08-23 00:43:21 -0300 Leonardo Serra Maciel de Campos
Revisão 0.6 2004-12-03 21:06:43 -0300 Leonardo Serra Maciel de Campos

Resumo

Este documento visa ensinar como autenticar em um servidor OpenLDAP.


Dedicatória

Dedico este documento a todas as pessoas que realmente acreditam na filosofia do Logicial Livre.

Índice

1. Introdução
1. O que é LDAP?
2. O que é OpenLDAP?
2. Ambiente
3. Instalação
4. Configuração
5. Comandos úteis
6. Apêndice
1. Bibliografia
2. Glossário

Lista de Tabelas

2.1. Versão dos logiciais
2.2. Ambiente
3.1. DebConf

Capítulo 1. Introdução

1. O que é LDAP?

LDAP significa Lightweight Directory Access Protocol, ou seja, Protocolo de Leve Acesso a Diretórios. Como o nome sugere, é um protocolo leve para acessar serviços de diretório. O LDAP roda em cima do protocolo TCP/IP ou outras conexões de transferência de serviços.

2. O que é OpenLDAP?

O OpenLDAP é um esforço colaborativo da comunidade Open Source para desenvolver um sistema de aplicações LDAP. O fundador por este projeto é o americano Kurt Zeilenga. Hoje existem vários desenvolvedores engajados neste sistema que está se tornando um padrão universal.

Capítulo 2. Ambiente

Será presumido que o seu sistema Debian GNU/Linux e o aptitude estão corretamente configurados. Também estaremos acreditando que o servidor OpenLDAP está executando de forma correta e realizando autenticação.

Atenção

Todos os comandos deverão ser executados pelo usuário root!

A tabelo abaixo mostra as versões de cada logicial usado.

Tabela 2.1. Versão dos logiciais

Logicial Versão
libpam-ldap 169-1
libnss-ldap 220-1
nscd 2.3.2.ds1-16

A tabelo abaixo mostra as principais características do ambiente onde foi feito esta documentação.

Tabela 2.2. Ambiente

Distribuição GNU/Linux Debian Sarge
Endereço do servidor OpenLDAP ldap.exemplo.com.br
Nome do domínio exemplo.com.br
Sufixo da base do servidor OpenLDAP dc=exemplo,dc=com,dc=br

Nota

Usaremos palavras desta maneira para indicar substituição.

Capítulo 3. Instalação

  1. Execute o seguinte comando para instalar o OpenLDAP:

    # aptitude install libpam-ldap libnss-ldap nscd

    O DebConf ira fazer algumas perguntas, responda de acordo com a tabela abaixo.

    Tabela 3.1. DebConf

    Pacote Questão Resposta
    libpam-ldap/libnss-ldap LDAP server host address ldap.exemplo.com.br
    libpam-ldap/libnss-ldap distinguished name of the search base dc=exemplo,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

Capítulo 4. Configuração

  1. 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
    
  2. 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
    
  3. 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
    
  4. Edite o arquivo /etc/nsswitch.conf, altere a linha:

    passwd:         compat
    group:          compat
    shadow:         compat
    

    Pelas seguintes linhas:

    passwd:         compat ldap
    group:          compat ldap
    shadow:         compat ldap
    
  5. É necessário reiniciar o nscd, para isto execute:

    # invoke-rc.d nscd restart

Capítulo 5. Comandos úteis

  • Para visualizar o arquivo passwd local com as entradas do servidor OpenLDAP:

    # getent passwd
  • Para visualizar o arquivo group local com as entradas do servidor OpenLDAP:

    # getent group
  • Para reiniciar o nscd:

    # invoke-rc.d nscd restart

Capítulo 6. Apêndice

1. Bibliografia

Os seguintes sítios foram usados como base para a criação desta documentação

2. Glossário

Debian GNU/Linux

O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O Debian usa o kernel (núcleo de um sistema operacional), Linux, mas a maior parte das ferramentas do SO vêm do projeto GNU; daí o nome GNU/Linux.

Logicial

Conjunto de instruções lógicas. Na informática designa um conjunto de instruções lógicas e suas dependências, também conhecido como programa ou sistema de computador.

Esta palavra é pouco usada no Brasil, onde se usa muito a expressão "Software".

Origem: Wikipédia, a enciclopédia livre.