Criado por Sgt Ruben 30/07/08 Cro/9

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:

# vi /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!

Navegação
1. Configurando Linux Ubuntu 8.04 para autenticar no LDAP

Outros artigos deste autor
Nenhum artigo encontrado.

Post to Twitter