SERVIDOR LDAP NO AUTENTIFICA.

Hola,

He configurado LDAP en un Centos 5 (versión libre de Red-Hat Enterprise) y tras configurarlo, aparentemente está todo bien, es decir el daemon corre, nmap a localhost me muestra el puerto de LDAP activo, ldapsearch me lista la base de datos, pero no consigo autentificar con LDAP a pesar de haber configurado los ficheros para que sea cliente de si mismo. Me explico:

Inicialmente migré todos los usuarios de /etc/passwd a LDAP mediante los correspondientes scripts y dichos usuarios aparecen en un ldapsearch. Además, añadí otro usuario "a mano" mediante ldapadd y el correspondiente fichero ldif; dicho usuario aparece como uno más al buscar con ldapsearch.

Sin embargo, si abro una consola y trato de hacer login como dicho último usuario, no hay forma de que lo reconozca. Con getent tampoco aparece; es como si la autenticación pam no estuviese utilizando LDAP.

Visualizando /var/log/secure veo que al intentar hacer login con el usuario en cuestión, me aparece lo siguiente:

Apr 8 16:01:46 centos login: pam_ldap: ldap_search_s No such object
Apr 8 16:01:47 centos login: pam_unix(login:auth): check pass; user unknown
Apr 8 16:01:47 centos login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty4 ruser= rhost=
Apr 8 16:01:47 centos login: pam_succeed_if(login:auth): error retrieving information about user perico
Apr 8 16:01:49 centos login: FAILED LOGIN 1 FROM (null) FOR perico, User not known to the underlying authentication module

... y en un ldapsearch -x -b 'dc=susetic,dc=lan', este usuario aparece como:

# perico, People, susetic.lan
dn: uid=perico,ou=People,dc=susetic,dc=lan
uid: perico
cn: perico
sn: perico
mail: perico@susetic.lan
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 13993
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/perico
gecos: perico
userPassword:: e1NTSEF9OGU1T1FOQ2ZLTWo4ZExTdU1qQnVrUkFFd3poRWFCOWc=

El fichero de autentificación /etc/pam.d/system-auth tiene lo siguiente (quitados comentarios y lineas en blanco):

auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid < 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_autht
ok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet
use_uid
session required pam_unix.so
session optional pam_ldap.so

El caso es que en otro sitio tengo otro Centos 5 configurado aparentemente igual (aunque no por mi sino por otra persona), y va todo bien. No entiendo qué pasa en éste.

Agradeceré enormemente cualquier pista al respecto, porque esto me está volviendo loco.

Gracias anticipadas y un saludo.

Your rating: None

Mira un pequeño script para

Mira un pequeño script para autenticar pc en debian contra openldap..
Dar permiso de ejecución al script chmod +x ./domain
##############################################################
Este script puede modificarlo,copiarlo, eliminarlo, hacer lo que usted estime combeniente
Licencia GPL
##############################################################

#!/bin/bash
#Actualizar y instalar los paquetes necesarios
apt-get update
apt-get install libnss-ldap libpam-ldap nscd
#Reconfigurar la libreria.
dpkg-reconfigure libnss-ldap

clear
#Enviar las modificaciones a los diferentes ficheros en pam.d
echo "account required pam_unix.so" > /etc/pam.d/common-account
echo "account sufficient pam_ldap.so" >> /etc/pam.d/common-account

echo "auth sufficient pam_unix.so" > /etc/pam.d/common-auth
echo "auth sufficient pam_ldap.so try_first_pass" >> /etc/pam.d/common-auth
echo "auth required pam_unix_auth.so" >> /etc/pam.d/common-auth

echo "password required pam_unix.so nullok obscure min=4 max=8 md5" > /etc/pam.d/common-password
echo "password sufficient pam_unix.so use_authtok md5 shadow" >> /etc/pam.d/common-password
echo "password sufficient pam_ldap.so use_authtok" >> /etc/pam.d/common-password

echo " session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 " > /etc/pam.d/common-session
echo " session required pam_unix.so " >> /etc/pam.d/common-session
echo " session optional pam_ldap.so " >> /etc/pam.d/common-session

# Modificar el Nsswitch.
echo "passwd: compat ldap" > /etc/nsswitch.conf
echo "group: compat ldap" >> /etc/nsswitch.conf
echo "shadow: compat ldap" >> /etc/nsswitch.conf

echo "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" >> /etc/nsswitch.conf
echo "networks: files" >> /etc/nsswitch.conf

echo "protocols: db files" >> /etc/nsswitch.conf
echo "services: db files" >> /etc/nsswitch.conf
echo "ethers: db files" >> /etc/nsswitch.conf
echo "rpc: db files" >> /etc/nsswitch.conf
echo "netgroup: nis" >> /etc/nsswitch.conf

echo "Ahora puede iniciar con su sesion de Dominio"
echo "Disfrutelo: Grupo Administracion"
echo "Nodo IPIHLG"
exec /etc/init.d/nscd restart

"Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien."

Ola conquistador! Sou

Ola conquistador!

Sou brasileiro, entao, me perdoe, vou escrever em portugues mesmo. Como as duas linguas sao parecidas, acredito que voce nao tera (muita) dificuldade em me entender.

Segui o tutorial de
http://jroliva.wordpress.com/samba-ldap-debian-40-etch/
para "subir" meu servidor openLDAP+Samba, esta autenticando as maquinas Windows XP com muita elegancia, inclusive compartilhando impressoras via CUPS, mas agora, preciso autenticar clientes Ubuntu Hardy Heron e Debian 4 Etch r4.

Este seu script e so para openLDAP ou serve para openLDAP+Samba tambem? E se nao servir, como eu faria para autenticar os usuarios locais dos clientes Linux (sem precisar adiciona-los manualmente via servidor)? E tambem usar os recursos da rede, tal como os clientes Windows XP?

Se puder me ajudar, agradeco muito.

Mauricio E Gleizer

Escribeme a

Escribeme a conquistador2007@yahoo.es

"Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien."