Pular para o conteúdo principal

LDAP no Ubuntu

O leitor Carlos Augusto me pediu, via mail, a comentar aqui como instalar o LDAP no Ubuntu. Não é muito a minha praia, mas nada que uma simples busca no Oráculo não resolvesse.

Mas o que é LDAP?

Lightweight Directory Access Protocol, ou LDAP, é um protocolo para atualizar e pesquisar diretórios rodando sobre TCP/IP. Um diretório LDAP geralmente segue o modelo X.500, que é uma árvore de nós, cada um consistindo de um conjunto de atributos com seus respectivos valores. O LDAP foi criado como uma alternativa ao muito mais incômodo Directory Access Protocol (DAP). fonte Wikipedia

Segue abaixo a receita de bolo, tirada do site Ubuntusp.Desktoplivre.org:

Instalação dos pacotes necessários:

# sudo 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:

# sudo gedit /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:

# sudo gedit /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:

# sudo gedit /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:

# sudo gedit /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:

# sudo gedit /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:

# gedit/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:

# gedit /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!
Mais dicas aqui e aqui.

Quem tiver mais dicas sobre o assunto, poste em nossos comentários!
Espero ter ajudado!

Comentários

Anônimo disse…
Cópia fiel de https://help.ubuntu.com/community/LDAPClientAuthentication

Postagens mais visitadas deste blog

Review Dell Inspiron 1525

Enfim, consegui comprar um notebook. Tava precisando a muito tempo e depois de pesquisar por meses, o Inspiron 1525 foi a minha decisão mais sábia, por motivos técnicos e por questões financeiras. Mesmo com a demora da Dell de mais de 20 dias para a entrega do note, a surpresa foi como o bichinho é bonito e silencioso. Ah... e poderoso. A placa de vídeo Intel X3100 era a única coisa que me deixava temeroso, quando falamos em Linux. Será que existiria drivers para ele? A parte técnica não irei dissertar muito pois por ser um Core 2 DUO Intel T7250 com 2gb de RAM e 120 gb de HD, ele é poderoso para qualquer coisa... menos para jogos gráficos pesados. Graças a essa placa X3100... bem, mas vamos falar do Ubuntu. Primeiro eu baixei 4.2gb de um dvd-live da própria Dell, produzida para quem compra os pc's dela na gringilândia. Lá tem suporte. Antes de tudo, tiver particionar o HD no Windows Vista. Isso foi fácil e não precisei instalar soft algum. Apenas gerenciei o espaço do HD e pronto.

Odeio não ler comentários

Esse post é um desabafo, portanto, leve em consideração e dê um desconto. Vou encurtar a história para depois comentá-la. Eu coloco nos meus posts TODAS as fontes de dicas e truques que vejo pela net e pelo meu RSS. Em casos de tradução eu posto a fonte original, porque isso é o MÍNIMO que eu devo fazer pela pessoa que criou o artigo/post original. Nada como reconhecer o trabalho alheio, correto? Aí, a um tempo atrás eu postei uma dica sobre o Medibuntu (que está bombando no meu Google Analytics como o post do mês) e nele tem a fonte original. Beleza. E esse post foi referenciado pelo ótimo blog do André Gondim , que de um uma encrementada. Beleza também! Mas hoje ao acessar o site do MeioBit , um comentário de um cara facilita a vida dos outros colocando o link da dica do site do André! Tá certo que ele (o André) é mais famoso no meio, que tem mais respeito na comunidade e isso eu não invejo em momento algum, podem ter certeza, mas o que me deixa mais puto é não ter comentários aqu

Teste de Inteligência XLS

Nada a ver com Linux ou Ubuntu.. mas se um e-mail com um arquivo xls, em anexo, aparecer com um teste de inteligência (deveria ser de adivinhação, isso sim) e estiver doido para descobrir as respostas... use a lista abaixo: 24 H no D 24 horas no dia 26 L no A 26 letras no alfabeto 7 D na S 7 dias na semana 7 M do M 7 maravilhas do mundo 12 S do Z 12 signos do zodíaco 66 L da B 66 livros da bíblia 52 C num B (S os C) 52 cartas num baralho (sem os coringas) 4 C na B B 4 cores na bandeira brasileira 18 B num C de G 18 buracos num campo de golfe 39 L no V T 39 livros no velho testamento 5 D em um P 5 dedos em um pé 90 G num  R 90 graus num ângulo reto 0 G C é a T D C da Á 0 graus celsius é a temperatura de congelamento da água 5 J em um T D B 5 jogadores em um time de basquete 3 R num T 3 rodas num triciclo 100 C em um R 100 centavos em um real 11 J em um T D F 11 jogadores em um time de futebol 12 M no A 12 meses no ano 4 R T um C 4 rodas tem um carro 29 D em F em