7 de nov. 2008

Compartir archivos con NFS

Para compartir archivos de forma sencilla entre dos ordenadores con Ubuntu podemos usar NFS.
Si queremos usarlo debemos instalarlos paquetes que necesitamos:
sudo aptitude install nfs-kernel-server nfs-kernel-common nfs-kernel-client portmap

NOTA: algunos de estos paquetes no se instalaran, ya que los nuevos kernels (nucelos) ya los traen implementados.
Después debemos editar /etc/exports:
sudo gedit /etc/exports
Ahora ponemos el directorio a compartir, per ejemplo /home/usuario, y poner al usuario que podrá acceder con permisos con su IP (permisos).
Debe quedar una cosa así:
/home/usuario 192.168.1.45(rwx)
De esta forma damos permiso al usuario con IP 192.168.1.45 a acceder a /home/usuario y a leer (r), escribir (w) y ejecutar (x) dentro del directorio. (Recordad que siempre se usaran los permisos más restrictivos posibles, eso quiere decir que si compartimos una carpeta en la que solo el usuario propietario puede escribir, así seguirá siendo en la carpeta compartida, aunque le pongamos rwx en el exports, a menos que cambiemos los permisos en las propiedades de la misma carpeta).
Guardamos los cambios y actualizamos el gestor nfs:
sudo exportfs -ra
sudo /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/portmap restart

NOTA: algunos de estos comandos no haran nada y daran error, ya que se encuentran en el kernel y no es necesario su reinicio, así que no os preocupeis si sale un command not found.
Ahora vamos a la máquina cliente y ponemos:
sudo mount -t nfs 'ipservidor':/home/usuario 'punto de montaje que debe existir en el cliente' -o nolock
Este punta de montaje que debe existir puede ser una carpeta en el escritorio del cliente, si llamamos a la carpeta Compartido, la cosa quedaría así:
sudo mount -t nfs 192.168.1.45:/home/usuario /home/usuario_cliente/Compartido -o nolock
Como es obvió, donde pone usuario hay que poner el usuario del directorio que se comparte y en el de usuario_cliente lo que corresponda al cliente.
Si queremos que monte el directorio automáticamente al encender el ordenador (con el servido ya encendido) podemos editar el fstab:
sudo gedit /etc/fstab
Y ahora ponemos los datos que correspondan, siguiendo el ejemplo puesto:
192.168.1.45:/home/usuario /home/usuario_cliente/Compartido nfs
Y listos, ahora, siempre que tengamos el servidor encendido y arranquemos la máquina cliente, montará automáticamente el recurso compartido en la carpeta que le hemos indicado.