Compartir ficheros entre ordenadores es uno de los usos más básicos que se le puede dar a una red, pero es quizás una de las primeras necesidades que surgen. Con mi anterior portátil con Ubuntu lo tenía fácil en casa, ya que el servidor de ficheros también es Ubuntu. Lo más cómodo es usar SSHFS.

En el caso de OSX, vamos a ver de qué alternativas tenemos sin tener que acudir al primitivo FTP.

Abajo a la izquierda se pueden ver los tres recursos de red que tengo conectados: mediacenter (samba), vubuntu (appletalk) y fuse4x (sshfs).

Unidades de red Unidades de red

Samba

Es un protocolo original de Windows cuyo uso, debido a la popularidad de dicho sistema operativo, se ha extendido a otros múltiples dispositivos. Curiosamente, en este caso lo emplearíamos para compartir entre sistemas ninguno de los cuales son Windows, pero configurar Samba es muy sencillo (al menos en Ubuntu) y es una primera opción casi inmediata. Creo que no merece la pena entrar en detalles de cómo se configura.

Appletalk

Con esta solución me topé intentando exportar en el servidor un recurso de red que me permitiera hacer copias de seguridad del Mac con Time Machine. Appletalk (en realidad AFP, Apple Filing Protocol) es el protocolo de Mac, pero como la comunidad del software libre es así de apañada, también podemos configurar nuestro Ubuntu para compartir ficheros de esta manera.

Necesitamos instalar en Ubuntu los siguientes paquetes:

  • avahi-daemon
  • netatalk
Una vez instalados, tenemos que configurar los recursos que vamos a exportar. Editaremos el fichero /etc/netatalk/AppleVolumes.default y añadiremos una línea por cada recurso. Ejemplo:
/mnt/shared Shared allow:user
Así estamos compartiendo el directorio /mnt/shared como un recurso de nombre Shared, permitiendo conectar al usuario user.

Una vez ajustada la configuración reiniciamos el servicio. Desde el Mac veremos el nuevo recurso. Basta con identificarnos y ya tendremos acceso. Comentar que la configuración por defecto comparte las homes de los usuarios, así que si nos vale con esa política, no tenemos que hacer nada.

Aparte de ficheros, podemos compartir impresoras y hace más cosas que permite el protocolo. Tenemos en su web un completo manual de instrucciones.

SSHFS

En este caso lo normal es que la máquina con Ubuntu tenga el SSH habilitado. En caso de que no lo tuviera, tendremos que instalar el paquete openssh-server.

Será en el Mac donde tendremos que instalar y configurar el resto de las herramientas. Nuevamente la comunidad de software libre viene en nuestra ayuda. La idea es usar Fuse4X. Seguimos las instrucciones de su web, nos bajamos el fichero .pkg y lo instalamos (haciendo doble clic).

Fuse4X es la capa de sistema de ficheros de usuario sobre la que corren las implementaciones de terceros del sistema de ficheros que nos interese. En nuestro caso es SSHFS, así que también tenemos que descargarlo (de https://github.com/fuse4x/fuse4x/downloads) e instalarlo de la manera habitual.

Una vez instalado, podremos montar el sistema remoto. Ejemplo:

mkdir ~/mountpoint

sshfs user@some-host.net:/home/user/ ~/mountpoint -oauto_cache,reconnect,defer_permissions,negative_vncache,volname=somename

Referencia: http://blog.philippklaus.de/2011/07/sshfs-on-mac-os-x-10-6-8-with-fuse4x/.