PROYECTO V2.0 PARTE 4: Configuración de cliente Linux (Debian Wheezy) que use OpenLDAP como sistema de autentificación

Indice del proyecto

Saludos!

Despues de implementar nuestro servidor OpenLDAP y configurar el servicio NFS vamos a configurar un cliente para que use el servicio OpenLDAP para obtener la información de los usuarios y las contraseñas de nuestro servidor.

El sistema cliente es una instalación de Debian Wheezy básica con LXDE como entrono gráfico, cuyo nombre de host es debian-desktop y su dirección IP es asignada por DHCP, la configuración la haremos con el usuario root.

Necesitamos instalar los siguientes paquetes en el sistema cliente:

libnss-ldap
libpam-ldap

Instalamos los paquetes:

root@debian-desktop:~# apt-get install libnss-ldap libpam-ldap

Empezara a hacer las preguntas de configuración del servicio LDAP pero no contestaremos nada, a todas las preguntas presionamos la tecla ENTER ya que configuraremos el servicio a mano.

Eliminamos los archivos libnss-ldap.conf y pam_ldap.conf:

root@debian-desktop:~# rm /etc/libnss-ldap.conf

root@debian-desktop:~# rm /etc/pam_ldap.conf

Editamos el archivo libnss-ldap.conf:

root@debian-desktop:~# nano /etc/libnss-ldap.conf

y lo dejamos asi:

# Config file for libnss-ldap and libpam-ldap

uri ldap://192.168.0.21/
ldap_version 3
scope sub

 

base dc=winterfell,dc=org

pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute memberuid

pam_password exop

nss_base_passwd ou=People,dc=winterfell,dc=org
nss_base_shadow ou=People,dc=winterfell,dc=org
nss_base_group ou=group,dc=winterfell,dc=org

bind_policy soft

cliente3

Copiamos el archivo libnss-ldap.conf a pam_ldap.conf:

root@debian-desktop:~# cp /etc/libnss-ldap.conf /etc/pam_ldap.conf

Ahora editamos el archivo /etc/nsswitch.conf:

root@debian-desktop:~# nano /etc/nsswitch.conf

Buscamos las siguientes lineas:

passwd:  compat
group:   compat
shadow:  compat

Y las dejamos asi:

passwd: compat ldap
group:  compat ldap
shadow: compat ldap

cliente5

Reiniciamos el servicio nscd:

root@debian-desktop:~# service nscd restart

Probamos que obtenga la información de los usuarios del servidor OpenLDAP con el comando getent:

root@debian-desktop:~# getent passwd | grep admin

Debe salir lo siguiente:

admin:*:10001:10001:admin:/home/admin:/bin/bash

cliente4

Ahora vamos a configurar los modulos PAM para que el sistema cliente use el servico LDAP para autenticar usuarios, primero hacemos copia de seguridad del directorio /etc/pam.d en caso de que cometamos algun error y no podamos hacer login en el sistema:

root@debian-desktop:~# cp /etc/pam.d /etc/pam.d.bk

Ahora vamos a borrar los archivos common-auth, common-account, common-session, common-password, lightdm:

root@debian-desktop:~# rm /etc/pam.d/common-auth

root@debian-desktop:~# rm /etc/pam.d/common-account

root@debian-desktop:~# rm /etc/pam.d/common-session

root@debian-desktop:~# rm /etc/pam.d/common-password

root@debian-desktop:~# rm /etc/pam.d/lightdm

los creamos de nuevo con con el siguiente contenido:

/etc/pam.d/common-auth

auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so

 cliente6

/etc/pam.d/common-account

account required pam_unix.so
account sufficient pam_ldap.so

 cliente7

/etc/pam.d/common-session

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_unix.so
session optional pam_ldap.so

cliente8

/etc/pam.d/common-password

password sufficient pam_unix.so nullok minlen=1 md5 shadow
password sufficient pam_ldap.so minlen=1
password required pam_deny.so

cliente9

/etc/pam.d/lightdm

auth required pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
session required pam_limits.so
@include common-account
@include common-password
@include common-session

cliente10

Ahora el sistema cliente puede hacer login con los usuarios de nuestro directorio LDAP.

Vamos a configurar NFS para que el cliente pueda montar el directorio Home del servidor, necesitamos instalar el paquete nfs-common:

root@debian-desktop:~# apt-get install nfs-common

Creamos un nuevo directorio /winterfell/home en donde se montara el directorio Home del servidor:

root@debian-desktop:~# mkdir -p /winterfell/home

Ahora vamos a editar el archivo /etc/fstab para indicarle al sistema que monte el directorio Home del servidor en el directorio Home del cliente cuando inicie el sistema.

root@debian-desktop:~# nano /etc/fstab

Y agregamos la siguiente fila al final del archivo:

192.168.0.21:/winterfell/home /winterfell/home nfs auto,nfsvers=3 0 0

cliente11

Reiniciamos el cliente y hacemos login con el usuario usuario1 cuya contraseña es usuario1:

cliente12

cliente13

Si abrimos una terminal en el servidor y listamos el contenido del directorio /winterfell/home veremos que se creó un directorio usuario1:

cliente14

Ese es el directorio Home del usuario usuario1.

Si se crea un documento o se descarga un archivo en el equipo cliente con algún usuario creado en el servidor de directorio ese archivo no se guardará en el disco duro del equipo cliente, se guardará en el servidor, así tendremos los archivos de los usuarios centralizados y disponibles desde cualquier equipo.

Hemos terminado la configuración de un cliente Linux que utilizara el servicio LDAP para autenticar usuarios y el servicio NFS para guardar los archivos de cada usuario en el servidor.

cualquier duda la pueden dejar en los comentarios prometo responderla lo mas pronto posible, igualmente pueden contactarme en mi correo electrónico: alexanderlopezp@gmail.com, mi whatsapp:+57 317 855 7010, twitter: @lexTheLoneWolf, BBM PIN: 7B213F70.

Anuncios

8 comentarios en “PROYECTO V2.0 PARTE 4: Configuración de cliente Linux (Debian Wheezy) que use OpenLDAP como sistema de autentificación

    1. Hola, conseguí superar errores anteriores cambiando la configuración de sldap.conf. Ahora me da otro error en esta sección, justo al introducir el comando:

      getent passwd | grep admin

      No me lista el usuario admin, he revisado todo y está todo correcto. Le agradecería mucho si me puede ayudar. Un saludo.

  1. No sirvio, segui todo los pasos al pie de la letra pero al final, al intentar logearme con algun usuario del OpenLDAP no ingresa. Por casualidad se pueden ver los “log” para verrificar si la configuracion esta bien.

  2. Hola muy buenas , me preguntaba si tenias un tutorial para configurar las maquinas clientes , pero que tengan Ubuntu 12.04 y/o Elementary OS Luna.

    El Servidor esta en Debian Wheezy , pero la maquina cliente que me falta configurar , tiene otra distro.

    e intentado con varios métodos , pero ninguno me ha dado resultado.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s