Configurando Ubuntu Linux 8.04 para autenticar no LDAP

Depois de muitas tentativas e pesquisas na comunidade Linux, consegui fazer o Ubuntu Linux autenticar no LDAP. Caso alguém tenha algo a acrescentar para melhorar o artigo, fico grato pela colaboração. Viva a Liberdade, Viva o Linux.

[ Hits: 16.529 ]

Por: Rubens Ajala Junior em 07/11/2008


Configurando Linux Ubuntu 8.04 para autenticar no LDAP



Criado por Sgt Ruben 30/07/08 Cro/9
Configurando Ubuntu 8.04 para autenticar no LDAP.

Instalação dos pacotes necessários:

# apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db

Será solicitado o nome ou ip do servidor LDAP:

ldap://servidor-ldap/

Obs.: O arquivo de configuração fica em /etc/ldap.conf.

Será solicitado o nome do domínio LDAP:

dc=dominio,dc=com,dc=br

Será solicitado a versão LDAP usada:

3

Colocar root como admin da base LDAP:

yes

Exige login na base LDAP:

no

Usuário administrador da base LDAP:

cn=admin,dc=dominio,dc=com,dc=br

Senha do administrador LDAP:

sua senha

Obs.: O arquivo de configuração fica em /etc/ldap.secret.

Edite o arquivo /etc/nsswitch.conf e altere os dados conforme abaixo:

# vim /etc/nsswitch.conf

Antes:

#passwd: compat
#group: compat

Depois:

passwd: files ldap
group: files ldap

Execute os comandos abaixo para verificar se os usuários e grupos da base LDAP estão aparecendo:

# getent passwd
# getent group


ALERTA DE BUG: no arquivo /etc/ldap.conf deve ser descomentada a linha "bind_policy hard" e alterada para "bind_policy soft". Caso não inserido será gerado um erro na inicialização do kernel e o sistema não levantará.

Deixe o arquivo /etc/pam.d/common-account conforme abaixo:

# vim /etc/pam.d/common-account

account sufficient      pam_ldap.so
account required        pam_unix.so

Deixe o arquivo /etc/pam.d/common-auth conforme abaixo:

# vim /etc/pam.d/common-auth

auth    sufficient      pam_ldap.so
auth    required        pam_unix.so nullok_secure use_first_pass

Deixe o arquivo /etc/pam.d/common-password conforme abaixo:

# vim /etc/pam.d/common-password

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

Deixe o arquivo /etc/pam.d/common-session conforme abaixo:

# vim /etc/pam.d/common-session

session required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel/ umask=002
session optional        pam_foreground.so
session sufficient      pam_ldap.so

Crie uma base local no caso de a rede não estar funcionando. Para isso esteja logado como root:

# nss_updatedb ldap

Crie um script com nome nssupdate.sh e salve em /etc/cron.hourly/ conforme conteúdo abaixo:

# vim /etc/cron.hourly/nssupdate.sh

LOCK=/var/run/auth-update.cron

[ "$1" != "0" ] && [ -f $LOCK ] && [ -d /proc/"$(cat $LOCK)" ] && exit 0
echo $$ > $LOCK

RANGE=3600
[ "$1" != "" ] && RANGE=$1
SLEEP=$RANDOM
[ "$RANGE" != "0" ] && let "SLEEP %= $RANGE" || SLEEP=0

sleep $SLEEP

go=true
while $go; do
   /usr/sbin/nss_updatedb ldap
   [ $? -eq 0 ] && go=false
   [ "$go" == "true" ] && sleep 10
done

rm $LOCK

exit 0

# chmod 755 /etc/cron.hourly/nssupdate.sh

Edite seu /etc/nsswitch.conf e deixe conforme abaixo:

# vim /etc/nsswitch.conf

passwd:         files ldap [NOTFOUND=return] db
group:          files ldap [NOTFOUND=return] db

O seu Ubuntu Linux está pronto para autenticar no servidor LDAP!

   

Páginas do artigo
   1. Configurando Linux Ubuntu 8.04 para autenticar no LDAP
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurando wvdial com Gnome-ppp no Slackware

Como transformar Salix OS em Slackware

Asterisk realtime e Trunk

O que é $PATH, como funciona e como trabalhar com ele

Passo-a-passo: Instalação de uma placa Wireless

  
Comentários
[1] Comentário enviado por m4sk4r4 em 07/11/2008 - 11:44h

Legal.

É só precisava ser mais simples e de preferência na instalção como o fedora faz,
porque ficar configurando depois é um saco mesmo com scripts quando se trata
de várias máquinas.

Abraço

[2] Comentário enviado por corvolino em 10/11/2008 - 03:17h

omg..

o godim falou exatamente isso no planeta ubuntu ;s

yare yare..

[3] Comentário enviado por removido em 10/11/2008 - 18:26h

Bom artigo,
não testei mas os passos parecem funcionar.
só acho que faltou um pouco de explicações... afinal, uma coisa é o cara que está começando ler esse artigo e copiar tudo pro seu sistema, e outra é o cara saber o que faz cada comando desses.

[4] Comentário enviado por upgrade em 09/09/2009 - 16:59h

Olá gostaria de saber o que significam nos arquivos common os suficient e required pois estou meio confuso nessa configuração, abraço

[5] Comentário enviado por tatototino em 27/01/2010 - 12:23h

Boa tarde, tentei colocar nesta solução no ubuntu 9.10 e deu alguns conflitos com PAM.
Com getent passwd aparece os usuários que estão no db mas na hora de autenticar nada.

Se alguém conseguir por favor postem aqui para ajudar os demais usuários.Se eu conseguir antes de postarei aqui.

Grato!

[6] Comentário enviado por vinigeremia em 16/07/2010 - 17:27h

Muito bom o artigo, mas fiz em um Ubuntu 10.04 a primeira vez e deu certo, mas fui tentar em outra maquina com o mesmo sistema operacional, e deu o seguinte erro:
update-rc.d: warning: libnss-ldap start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (none)

Processando gatilhos para libc-bin ...
ldconfig deferred processing now taking place

Me ajudeeem!
abraço

[7] Comentário enviado por joserf em 10/08/2010 - 16:29h

olá amigo eu tenho um dominio com ldap funcionando blz no ubuntu 8.04 vc sabe como eu faço para migrar a base ldap para algum ubuntu + novo como 10.04. obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts