LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero/Simplificado de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también se considera
una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.

Un directorio es un conjunto de objetos con atributos organizados en una manera lógica y jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de nombres (personas u organizaciones) que están ordenados alfabéticamente, con cada nombre teniendo una dirección y un número de teléfono adjuntos. Para entender mejor, es un libro o carpeta, en la cual se escriben nombres de personas, teléfonos y direcciones, y se ordena alfabéticamente.

Crea dos máquinas virtuales en el sistema que prefieras que tengan comunicación por red entre ambas, llamémoslas servidor y cliente para que sean más claros todos los puntos.

Configurar un servidor LDAP

Instalación LDAP

Instalamos el siguiente paquete apt install slapd

Asignamos contraseña al Administrador

Para ello instalamos el paquete apt install ldap-util el cual nos permite usar las diferentes opciones de ldap

Para ver la estructura del arbol ejecutamos lo siguiente ldapsearch -x -h localhost podemos ver que esta vacio para ello vamos a asignar un nuevo nombre de dominio DNS y una contraseña vamos a rellenarlos de la siguiente forma dpkg-reconfigure -plow slapd:

Info! El nombre de dominio, el nombre de la organización y la contraseña puede variar según a nuestros intereses.

Creamos una unidad organizativa

Creamos un directorio mkdir LDAP y dentro un fichero con extension .ldif y se llamara unidadorganizativa.ldif

Lanzamos el fichero .ldif

Configuración grupos y usuarios

Creamos otro fichero .ldif el cual se va a guardar la configuración de los grupos

Grupos

Usuarios

Procedemos ahora a agregar un usuario a «People», para ello vamos a generar una contraseña en «SSHA» con el siguiente comando:

Y creamos el fichero usuario.ldif

Lanzamos los fichero .ldif(Usuarios y Grupos)

Usuarios

Y podemos observar en «Apache Directory» que ya tenemos el árbol completo creado:

Instalar y configurar un servidor NFS

NFS depende de varios paquete por tanto vamos a instalarlos todos

portmap

El servicio portmap es un demonio de asignación de puertos dinámico para servicios RPC, tales como NIS y NFS. Tiene mecanismos de autenticación débiles y la habilidad de asignar un amplio rango de puertos para los servicios que controla. Por estas razones, es difícil de asegurar.

Instalamos portamap apt install portmap

NFS y sus dependencias

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales.

Instalamos nfs y sus dependencias en la maquina que va actuar como servidor apt install nfs-common nfs-kernel-server

Ahora procedemos a realizar las configuraciones necesarias para su funcionamiento:

Configuracion NFS

Lo primero sera crear una carpeta donde vamos a alojar todos los «homes» de los usuarios y asignamos los permisos y propietarios necesarios:

Despues editamos el fichero con la ruta para que sepa llegar a la ruta del directorio para ello modificamos el fichero /etc/exports y añadimos la siguiente linea:

Info! En caso de venir alguna linea, borrala o modificala para que quede igual que la anterior.

E iniciamos el servicio /etc/init.d/nfs-kernel-server start

Ya solo nos queda exportar el sistema de archivos exportfs -av

Podremos comprobar que el servidor esta funcionando para ello ejecutamos lo siguiente rpcinfo -p

Nos dirigimos al cliente y montamos la unidad y creamos un fichero para su comprobacion:

Info! Podemos observar en la foto que el usuario y el grupo no son reconocidos y es porque hemos creado ese fichero con un usuario que no tiene permisos sobre ese directorio ya que no tenemos LDAP en el cliente (Paso que procedemos a configurar ahora)

Configura PAM de cliente y servidor

Para esto vamos a utilizar libpam-ldapd para que los usuarios del LDAP puedan hacer login en ambas máquinas utilizando nombre de usuario y contraseña.

Cliente

Instalamos los siguientes paquetes apt install libnss-ldapd libpam-ldapd nscd

Y configuramos asi:

Por ultimo modificamos el fichero /etc/ldap/ldap.conf para que quede asi

Info! Como he dicho antes los datos depende de tu entorno.

Y nos logueamos login

Servidor

Realizamos los mismo pasos que para el Cliente | e intentamos loguearnos login

Podemos observar que si nos logueamos desde el servidor el home ya esta montado, pero si nos logueamos desde el cliente no tenemos «home»

Configura nsswitch

Con ayuda de la biblioteca libnss-ldapd para que tanto cliente como servidor reconozcan los UIDs y GIDs de los usuarios del LDAP (ten la precaución de que estos valores no solapen con los usuarios de cada sistema)

Vamos a proceder a configurar nsswitch para que se reconozcan los UIDs yGIDs, para ello vamos a añadir ldap:

Info! Puede ser que ya venga añadido ldap, sino es asi añadelo para que quede asi.

Si necesitaramos reconfigurar el libpam-ldapd ejecutamos un dpkg-reconfigure libpam-ldapd:

Por ultimo montamos la carpeta creada para que el usuario tenga acceso a ella y la monte como directorio:

Tambien podemos hacerlo de forma permanente, solo con añadir la siguiente linea en el fichero «/etc/fstab»

Y ahora al acceder al usuario de ldap observamos que ya tiene el directorio «home» montado en «pruebausuario».

Configura libpam-mkhomedir

Este paquete comprueba si no existe el home del usuario, sino es asi se cree al vuelo la primera vez que entre.

Añadimos la siguiente linea en etc/pam.d/common-session al final del fichero

Podemos observar que al iniciar sesión en el usuario creado nuevo, nos da un Permiso denegado.

Para ello nos vamos a /etc/exports y añadimos lo siguiente no_root_squash:

Y quedara asi:

Reiniciamos el servicio /etc/init.d/nfs-kernel-server restarty exportamos el fichero exportfs -av:

Por ultimo comprobamos que al iniciar sesión se crea automáticamente la carpeta: