lunes, 1 de diciembre de 2008

Homes centralizados en GNU/Linux

Envidiando el tema de perfiles moviles de Active Directory decidí empezar a intentar hacer algo similar en la plataforma GNU/Linux, buscando buscando me encontré con varias alternativas.

Para empezar decidí probar con NFS, básicamente por que ya conocía de NFS, es simple y me pareció mas adecuado. En esta primera etapa de prueba no quise levantar un NIS o LDAP para no distraerme del problema principal, el funcionamiento del perfil de usuario móvil, pero la idea es en un futuro integrar un LDAP + Samba + Pam_Mount, veremos si llego a eso.

En esta primera etapa la idea es simple, tenemos un Servidor NFS que exporta los homes de los usuarios, por el otro lado tenemos clientes que montan el home de los usuarios. Tanto en los clientes como el en el server existen las mismas cuentas de usuarios con los mismos UID y GID (he aquí por que la explicación de por que un NIS o LDAP) por cuestiones de permisos entre otros.

Veamos que debemos hacer por partes.

En el server

Lo primero a realizar es instalar el servidor NFS, para ello en Ubuntu deberán instalar los siguientes paquetes:

#apt-get install nfs-common nfs-kernel-server

Luego deberán configurar en el servidor NFS para que soporte bloqueos, para ello deben habilitar el demonio statd en el archivo /etc/defaults/nfs-common

NEED_STATD=yes

Paso siguiente es compartir los homes, pueden crear los directorios a compartir en el /home del server, deberán tener un directorio por cada usuario de la red nombrado con el nombre del usuario. Para exportar los directorios con NFS deben editar el archivo exports en etc. Por ejemplo, por cada home deberán añadir una linea como la siguiente, asumamos el usuario agustin

/home/agustin 192.168.0.0/24(rw,no_root_squash)

Aquí primero especificamos el directorio, la subred de trabajo y las opciones de lectura escritura. La útima opción es para poder realizar operaciones como chmod y chown desde el cliente.

Para finalizar reinician los demonios

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


En los Clientes

En los clientes debemos instalar el paquete nfs-common para poder montar los shares del servidor.

#apt-get install nfs-common

Y editar nuevamente le archivo /etc/defaults/nfs-common para habilitar la opción de statd pero en el cliente.

Por último añadimos los shares de los usuarios en fstab para que se monten al arranque del sistema y creamos los puntos de montaje.

Linea de Fstab:

192.168.0.10:/home/agustin /home/agustin nfs defaults 00

Creamos el punto de montaje

mkdir /home/agustin

Al reiniciar el equipo cliente y loguearse con el usuario agustin comenzaran una sesión nueva de Gnome (o kde), con un perfil por defecto, utilizando como home el del servidor. La próxima vez que se muevan a otra máquina configurada para montar el home del usuario compartido por el server automáticamente, tendrán el mismo perfil que en la maquina anterior con todas las configuraciones que habían seteado hasta la última vez que ingresaron, interesante no les parece ?.

La idea básica esta, el problema de esta configuración es que requiere de mucha configuracion previa, lo que lleva a mucha administración humana y sin lugar a dudas a errores y problemas. Veremos como evoluciona esta configuración en busqueda de la practicidad y el menor trabajo humano.

1 comentario:

srg dijo...

Gracias por el post, está bastante claro.

Tengo algo parecido (utilizando LDAP) y el problema que tengo es que se nota cierta lentitud en los clientes. ¿Se te ocurre cómo reslover esto?