Automontar carpetas compartidas de VirtualBox en Linux

VirtualBox tiene una opción para automontar carpetas compartidas en un huésped Linux, pero no siempre funciona bien. Hace tiempo propusimos un script para hacerlo manualmente. En esta ocasión vamos a hacer que se monten automáticamente.

Supongamos que tenemos una carpeta compartida llamada Datos. La forma más sencilla de montarla en nuestro huésped es escribir en el terminal:

sudo mkdir /media/Datos
sudo mount -t vboxsf Datos /media/Datos

El problema es que al hacerlo como superusuario, el dueño de la carpeta es root, y no se monta con el conjunto de permisos más adecuado. Para cambiar esto, vemos la ayuda del programa /sbin/mount.vboxsf y aplicamos las opciones pertinentes.

Tutorial: Permisos en Linux

Bien es sabido que la seguridad de Linux descansa en su sistema de archivos. Si escribimos ls -l en cualquier carpeta, podemos ver los conjuntos de permisos RWX que tiene cada elemento. R=Read, W=Write, X=Execute. La primera tríada es para el usuario propietario del fichero, la segunda es para el grupo al que pertenece, y la tercera para el resto de usuarios. Notemos que las carpetas siempre tienen permisos de ejecución, porque si no, no se podrían abrir.

La notación que usa el montador de VirtualBox es octal, de modo que interpretaremos cada letra como un 1 binario, y cada guión (permiso no asignado) como un 0. Por ejemplo, rwxrwxr-x (asignación por defecto de Ubuntu para carpetas) concede permisos totales al propietario y al grupo, pero no permite escribir a otros usuarios. Entonces tenemos 111111101 en binario, que se traduce a 775 en octal. Para los archivos se utiliza normalmente rw-rw-r--, que se nota como 664 en octal. Fedora es algo más restrictivo: asigna 755 a las carpetas y 644 a los archivos.

Usuarios manazas como yo: absténganse

Por tanto, supongamos que queremos montar el recurso Datos en /mnt/Datos, y que nuestro usuario se llama jesus y pertenece al grupo manager. Si queremos utilizar los permisos por defecto de Ubuntu, tenemos que especificar al montador de VirtualBox las siguientes opciones:
  • uid=jesus
  • gid=manager
  • dmode=775
  • fmode=664
Ahora que lo tenemos claro, abrimos el fichero /etc/fstab, podemos utilizar nano por ejemplo:

  $ sudo nano /etc/fstab  

Y por último, agregamos la siguiente línea al final, recalcamos que las opciones se separan con comas:

  Datos  /mnt/Datos  vboxsf  uid=jesus,gid=manager,dmode=775,fmode=664  0  0  

Guardamos y listo. Después de reiniciar, debería de aparecer montada nuestra carpeta Datos automáticamente.

Actualización

En versiones más modernas este método no funciona, porque Linux intenta montar la carpeta antes de que se cargue el controlador apropiado. Para solucionarlo, debemos hacer que el módulo vboxsf se cargue al inicio del sistema, y lo hacemos de la siguiente forma:

Si nuestro sistema operativo funciona con Systemd (los más modernos), vamos a la siguiente carpeta:

  $ cd /etc/modules-load.d  

Dentro de ella creamos un archivo con cualquier nombre, acabado en ".conf":

  $ sudo nano  virtualbox.conf  

Si, en cambio, nuestro sistema aún utiliza Init, debemos editar el siguiente archivo:

  $ sudo nano  /etc/modules  

En cualquier caso, añadimos una línea con el contenido:

  vboxsf  

Por último reiniciamos, y con este cambio la carpeta deberá aparecer montada correctamente.

Comentarios

  1. hola, lo de automontar no me funciona en fedora 20, al modificar /etc/fstab y reiniciar me tira el mensaje de modo de emergencia y no me deja entrar hasta que lo vuelvo a modificar, trate de hacer lo de la actualización pero no hay ningún archivo llamado modules solo carpetas llamadas asi y son varias si sabes alguna solución te agradecería de antemano gracias

    ResponderEliminar
  2. Hola. Efectivamente, en sistemas más modernos, con Systemd, no existe /etc/modules, sino la carpeta /etc/modules-load.d.

    La idea es la misma: hacer que se cargue el módulo de VirtualBox antes de intentar montar la carpeta. He actualizado el post explicando cómo se hace, es muy parecido.

    He probado el método nuevo en Fedora 23 y en Ubuntu 15.10. Espero que te funcione. Un saludo.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Algoritmo de relleno

Problema de las N reinas

Cifrado de Vernam