Acceso a carpetas compartidas por NFS

Para poder acceder desde un PC a una carpeta compartida por NFS en un servidor, lo primero que tenemos que hacer es instalar los paquetes portmap y nfs-common que nos permitirán acceder como clientes:
// Instalar portmap y nfs-common y reiniciar portmap
# apt-get install portmap nfs-common # /etc/init.d/portmap restart
Ahora ya estaremos en condiciones de montar la carpeta compartida en nuestro sistema de archivos. De ésta manera, el acceso a la carpeta compartida es exactamente igual que el acceso a cualquier otra carpeta de nuestro disco duro.

Ejemplo, supongamos que un servidor comparte por NFS una carpeta llamada /fotos. En el PC cliente podemos crear una carpeta llamada /fotos-servidor y montar sobre ella la carpeta compartida en el servidor. Para ello, en el cliente y como root ejecutaríamos el siguiente comando:
// Montar carpeta compartida por NFS
# mount -t nfs ip-del-servidor:/fotos /fotos-servidor

A partir de éste momento, podemos comprobar que nuestra carpeta /fotos-servidor contiene la información de la carpeta /fotos del servidor. Si disponemos de permisos de lectura y escritura, podemos incluso crear o modificar los archivos dentro de nuestra carpeta /fotos-servidor y los cambios se estarán guardando realmente en la carpeta /fotos del servidor.

Para realizar el montaje, debemos hacerlo sobre una carpeta existente en nuestro sistema. Si dicha carpeta de nuestro sistema contiene archivos, estos no estarán accesibles ya que la carpeta nos mostrará los archivos remotos.

Si al intentar montar la carpeta NFS no funciona suele ser por una de estas tres razones: por un problema en la red, un problema en el servidor o un problema en el cliente. Para averiguar si el problema es del servidor o no, podemos intentar montar por NFS la carpeta en el propio servidor, usando la IP 127.0.0.1. Si funciona entonces el problema estará en la red o en el cliente. Si hacemos ping del servidor al cliente y no hay cortafuegos, el problema será en el cliente. Podemos intentar hacer una reinstalación del cliente igual que la instalación en el servidor. Ejecuta en el cliente los siguientes comandos: apt-get install nfs-common nfs-kernel-server, luego /etc/init.d/portmap restart, después /etc/init.d/nfs-kernel-server restart y finalmente intentar montar la carpeta.

Si deseamos que nuestro PC monte siempre de forma automática una carpeta compartida por NFS cuando iniciemos nuestro Linux, existe la posibilidad de añadir en el archivo /etc/fstab una línea como por ejemplo:

# Montaje automático al iniciar el PC
#Añadir en /etc/fstab ip-del-servidor:/fotos /fotos-servidor nfs

De ésta manera, cuando arranquemos nuestro PC, la carpeta /fotos del servidor quedará automáticamente montada sobre nuestra carpeta /fotos-servidor y no tendremos que ejecutar el comando mount para nada.

Consejos

Es conveniente que los datos de los usuarios se almacenen de forma centralizada en el servidor en lugar de hacerlo en los PCs de los usuarios. Ésto permite al usuario acceder a sus archivos aunque utilice un PC diferente al habitual, además, será más sencillo realizar copias de seguridad y si el PC del usuario se estropea, no perderá información. Lo ideal es que los PCs de usuario no almacenen la carpeta home de cada usuario sino que dicha carpeta esté compartida en el servidor. El servidor así mismo deberá centralizar las cuentas de usuario mediante un servidor LDAP y los PCs clientes deberán estar configurados para montar el home de forma remota y autentificar a los usuarios a través del servidor LDAP.

Para su uso práctico en el centro educativo, además de exportar la carpeta /home para que cada usuario tenga acceso a su espacio de trabajo, se pueden crear en el servidor tres carpetas de uso común cuyos permisos dependan del tipo de usuario. En una de ellas deberán tener permisos de lectura y escritura todos los usuarios: alumnos y profesores. A dicha carpeta se la puede llamar comun-alumnos y serviría para que los alumnos intercambien archivos entre ellos y con los profesores. En otra carpeta, deberían tener permisos de lectura y escritura solamente los profesores. Se podría llamar comun-profesores y serviría para que los profesores se intercambien archivos confidenciales entre sí. Finalmente, en otra carpeta deberían tener solo permisos de lectura los profesores y los alumnos. Se podría llamar documentos-centro y serviría para que el administrador mantenga un repositorio de documentos o aplicaciones de propósito general para el centro, aunque esto último quizás sea más adecuado hacerlo mediante un servidor web.