Cliente LDAP depende de la RED para iniciar

confuso Saludos a todos los usuarios de Debian, como lo indica mi tema, cuento con un servidor OpenLdap sobre RED HAT y me fuciona correctamente, tanto con Debian como Ubuntu, a excepción de Debian, llevo rato tratando de solucionar un problema, configuro un cliente Openldap, y me autentifica todo perfecto, el unico problema es que este cliente cuenta con un usuario local, y necesito que en caso extremo, ya que se da muy poco, por casualidad el servidor Openldap no levante, y mi cliente pueda iniciar, sin crear dependencia del servidor, mi pregunta es: ¿COMÓ HACER QUE MI CLIENTE OPENLDAP INICIE, SIN DEPENDENCIA DEL SERVIDOR Y PUEDA TRABAJAR CON EL USUARIO LOCAL?, espero entienda y me pueda ayudar.

saludos

Igual buscando algo sobre "name-service switch dispatcher"

man nsswitch.conf

saludos,

Evita el uso de mayúsculas por favor.

Tus clientes realizan la autenticación mediante pam y nsswitch. Si tu lograste que autenticara mediante ldap invariablemente debiste modificar la configuración de nsswitch y pam. Chequea eso.

Mas ayuda no se te puede ofrecer a menos que postees la configuración que haz hecho

a continuacion te podre la configuracion de mis ficheros:
para /etc/nsswitch:

passwd: files ldap [notfound=continue]
group: files ldap [notfound=continue]
shadow: files ldap [notfound=continue]

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

para /etc/libnss-ldap.conf

host ldap.hab.uci.cu
base dc=hab,dc=uci,dc=cu
uri ldapi://ldap.hab.uci.cu
ldap_version 3
bind_policy soft

para /etc/pam_ldap.conf

host ldap.hab.uci.cu
base dc=hab,dc=uci,dc=cu
uri ldapi://ldap.hab.uci.cu
ldap_version 3
bind_policy soft
pam_password md5

para /etc/pam.d/common-account

account sufficient pam_ldap.so
account required pam_unix.so

para /etc/pam.d/common-auth

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure try_first_pass
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

para /etc/pam.d/common-password

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

para /etc/pam.d/common-session

session sufficient pam_ldap.so
session required pam_unix.so

ya te digo realizo todas las consultas y logro auteticarme contra el ldap, todo mi problema con Debian, es a la hora de iniciar sin red, un dia puedo no contar con el servidor OpenLdap, y deseo iniciar por mi usuario local, y es lo que aun no he logrado. Para dar mas detalles al iniciar sin red, me iniciar casi todos los procesos pero se queda parado en "Starting system message bus: dbus" y ahi se queda, conecto la red nuevamente, y termina de cargar todo, hasta la pantalla de entrada, y todo funciona normal, "pero con red", "sin red", como dice una frase olvidate del tango y canta bolero, jajajaja. Quisiera agregar que con Ubuntu 9.04, 9.10, solo 10.04 no logra pasar de la pantalla de login pero por lo general funciona hasta sin red, en verdad no puedo creer que Debian se quede atras con respecto a Ubuntu, tengo el mejor concepto de Debian y no pienso cambiar, gracias a un pequeño tutorial que me enviaron para Ubuntu, fue que logre iniciar "sin red", se los pongo a continuación:

Instalar las siguientes librerías
# apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db libpam-ccreds

Configurar ldap.conf
# nano /etc/ldap.conf
Descomente esta línia #bind_policy hard y cambia hard por soft quedando de esta manera
bind_policy soft

Crear fichero open_ldap para configurar la autenticacion con LDAP
# nano /etc/auth-client-config/profile.d/open_ldap

El fichero tendrá la siguiente informacion

[open_ldap]
nss_passwd=passwd: files ldap
nss_group=group: files ldap
nss_shadow=shadow: files ldap
nss_netgroup=netgroup: nis

pam_auth=auth [success=done default=ignore] pam_unix.so nullok_secure try_first_pass
auth [authinfo_unavail=ignore success=1 default=2] pam_ldap.so use_first_pass
auth [default=done] pam_ccreds.so action=validate use_first_pass
auth [default=done] pam_ccreds.so action=store
auth [default=bad] pam_ccreds.so action=update

pam_account=account sufficient pam_ldap.so
account required pam_unix.so

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

pam_session=session required pam_unix.so
session required pam_mkhomedir.so silent skel=/etc/skel/ umask=076
session optional pam_foreground.so
session sufficient pam_ldap.so

Configurar nsswith.conf y los archivos de configuracion del PAM
# auth-client-config -a -p open_ldap
# nano /etc/nsswitch.conf
Buscamos las entradas passwd y group y las remplazamos por las que aparecen a continuación, que dando de esta manera:
passwd: files db [NOTFOUND=continue] ldap
group: files db [NOTFOUND=continue] ldap

Crear una caché local
# nss_updatedb ldap

Actualizar la cache locPara mantener actualizada nuestra cache local, es necesario crear un script que lo ejecute periódicamente el sistema, en este caso crearemos uno con nombre nssupdate.sh en esta dirección /etc/cron.hourly/al
# nano /etc/cron.hourly/nssupdate.sh

El contenido para este script es el siguiente

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

Le damos permisos necesarios para su ejecución
# chmod 755 /etc/cron.hourly/nssupdate.sh

Verificar consulta contra ldap
# getent passwd
# getent group

Probar la autenticación
# apt-get install libpam-dotfile

# pamtest passwd usuario
Trying to authenticate for service .
Password: // Introducimos el password de usuario
Authentication successful. // La autentificación ha sido satisfactoria

ya les digo, en Debian con la red todo al kilo, marcha o ok, al quitarle la red, olvidense del tango y canten bolero, es otra historia por completo, y me imagino que tiene solución.

saludos