Capítulo 11: Instalar y configurar OpenLDAP en Ubuntu 14.04 LTS



11.12. Perfiles móviles de usuario usando NFS y LDAP

En muchos contextos de red, los apartados anteriores pueden plantear más dudas que soluciones, ya que un usuario que vaya itinerando entre varios equipos cliente acabará teniendo una carpeta para su perfil en cada uno de los equipos y ¡su contenido no se sincroniza! Es decir, si crea un archivo en el cliente A, no lo encontrará en su carpeta cuando inicie sesión desde el cliente B. El motivo es que LDAP sólo se encarga de autenticar a los usuarios.

Sin embargo, en el capítulo anterior aprendimos a compartir datos entre el servidor y los clientes a través de NFS.

En este apartado, aprenderemos a unir las posibilidades de autenticación centralizada en el servidor que ofrece LDAP con la capacidad de almacenamiento centralizado que aporta NFS. El resultado serán los perfiles móviles de usuario. Es decir, un usuario encontrará su carpeta personal (el equivalente a /home/usuario) en todos los equipos cliente donde inicie sesión.

Las tareas que deberemos completar para resolverlo son estas:

  1. Crear una carpeta en el servidor para guardar la carpeta /home de los usuarios móviles (el equivalente a /home/usuario de cada usuario en el servidor). En este ejemplo, en lugar de la carpeta /home crearemos una específicamente para perfiles móviles a la que llamaremos /moviles.
  2. Modificar el archivo /etc/exports para compartir el directorio anterior con permisos de lectura/escritura para todos los usuarios.
  3. Crear una carpeta en los equipos cliente para montar los perfiles móviles (el equivalente a /home/usuario de cada usuario en cada cliente). Para este ejemplo, la carpeta de los clientes también se llamará /moviles, aunque no es necesario que su nombre coincida con el de la carpeta que crearemos para el punto 1.
  4. Modificar el archivo /etc/fstab de cada cliente para que monte la carpeta que hemos creado en el paso 1 en el punto de montaje establecido en el paso 3 y reiniciar el equipo.
  5. Modificar las cuentas de usuario LDAP para indicar que la carpeta donde deben tener su perfil se encuentra dentro de la carpeta creada en el paso 3 (la que montamos en el cliente)

Bueno, pues ahora que ya tenemos claros los pasos que debemos dar, comencemos…

Crear una carpeta para guardar los perfiles móviles en el servidor

En realidad, ya hemos visto cómo hacer esta tarea dentro del apartado Configurar el servidor NFS del capítulo 10 (Instalar y configurar NFS en Ubuntu). Por lo tanto, sólo tenemos que seguir las indicaciones del punto Crear las carpetas a compartir y crear una nueva carpeta.

Aquí, crearemos una nueva carpeta llamada /moviles:

sudo mkdir /moviles
sudo chown nobody:nogroup /moviles

1

Creamos la carpeta y cambiamos su propietario y grupo

Exportar el contenido de la carpeta que tendrá los perfiles móviles

Ahora tenemos que lograr que NFS comparta la carpeta con todos los usuario de la red. De nuevo, puedes obtener más detalles en el capítulo 10, Instalar y configurar NFS en Ubuntu, concretamente en el apartado Configurar el servidor NFS.

Como podrás recordar, la idea básica consiste en editar el archivo /etc/exports y crear una línea como esta:

/moviles        *(rw,sync,no_root_squash,no_subtree_check)

1

Usamos el editor gEdit con privilegios de superusuario.

Cuando hagas cambios en el archivo /etc/exports, recuerda que debes reiniciar el servicio NFS para que sean efectivos. Para lograrlo, sólo tienes que escribir la siguiente orden en la ventana de terminal:

sudo /etc/init.d/nfs-kernel-server restart

2

Reiniciamos el servicio NFS.

Crear una carpeta para guardar los perfiles móviles en cada cliente

Para este ejemplo, hemos hecho coincidir el nombre de la carpeta en el servidor y en el cliente, pero esto no es en absoluto necesario.

Ahora, en cada equipo cliente desde el que los usuarios vayan a iniciar sesión, deberemos repetir el mismo proceso, que consiste en crear la carpeta que usaremos después como punto de montaje para la carpeta compartida con el servidor. Recuerda que tienes más detalles en el apartado Acceder a la carpeta compartida con NFS desde un cliente con Ubuntu del capítulo 10.

En resumidas cuentas, la idea es crear una nueva carpeta y permitir que pueda acceder a ella cualquier usuario:

sudo mkdir /moviles
sudo chmod 777 /moviles

1

Ejecución de los comandos mkdir y chmod.

Modificar el archivo /etc/fstab en cada cliente para montar la carpeta en el arranque

Como ya explicamos en el capítulo 10, también dentro del apartado Acceder a la carpeta compartida con NFS desde un cliente con Ubuntu, el archivo /etc/fstab
guarda la información de los volúmenes que deben montarse durante el arranque del sistema operativo. Como necesitaremos que la carpeta del servidor se monte de forma local en el equipo cliente antes de que el usuario inicie sesión, deberemos añadir la siguiente línea al archivo /etc/fstab:

192.168.1.10:/moviles /moviles nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0

1

De nuevo, usamos el editor gEdit con privilegios de superusuario.

Una vez realizados los cambios, deberemos reiniciar el equipo para que éstos sean aplicados.

Indicar en el usuario LDAP la carpeta donde tendrá su perfil en el cliente

El último paso consistirá en modificar los usuario existentes, o crear otros nuevos, indicando que su atributo homeDirectory es una subcarpeta de la carpeta que hemos creado en los pasos anteriores.

Para completar esta tarea puedes seguir cualquiera de los métodos que hemos explicado en este capítulo.

1

En nuestro caso, hemos creado un nuevo usuario llamado amartinez usando la herramienta LDAP Account Manager (donde el atributo homeDirectory recibe el nombre Directorio inicial).

Como puede verse en la imagen, hemos indicado que la carpeta home del usuario se encontrará en /moviles/amartinez.

Comprobar que la configuración funciona correctamente

Si realizaste las modificaciones oportunas en LightDM, sólo tendrás que iniciar el cliente e indicar el nombre de la cuenta LDAP y su contraseña.

En cualquier caso, recuerda que basta con iniciar sesión la primera vez en modo texto, para que se cree el perfil del usuario en el cliente.

1

Observamos que al iniciar sesión en modo texto, se crea el directorio local para guardar los datos del cliente.

En este punto debemos hacer algunas apreciaciones:

  1. El inicio de sesión ha creado el directorio home local para el usuario, pero lo ha hecho en una carpeta compartida por el servidor, por lo que, en realidad, la carpeta se está creando en el servidor.
  2. Para que esto funcione así, habremos tenido que modificar el archivo /etc/pam.d/common-session de los clientes donde va a iniciar sesión el usuario, tal y como explicábamos en el apartado Configurar un equipo cliente con Ubuntu para autenticarse en el servidor OpenLDAP de este mismo capítulo. Si no has modificado este archivo, siempre puedes crear con antelación la carpeta a mano.

A partir de aquí, la próxima vez que inicies sesión en el cliente, ya encontrarás el nuevo usuario en la pantalla de autenticación.

2

Sólo habrá que escribir la contraseña para comenzar a trabajar.

3

Como verás, la sesión se inicia igual que con cualquier otro usuario.

Podemos obtener la comprobación definitiva si accedemos en el servidor a la carpeta que está compartiendo.

4

Podremos comprobar que se ha creado la carpeta amartinez y que contiene los datos del perfil del usuario.