16th September 2008

Instalar disco usb en Ubuntu

posted in Linux |
Aqui os dejo un post de http://www.syntaxerror.es.
Lacie 500 GBEste artículo es a la vez simple y útil. Dado que los discos duros externos USB están tan baratos en relación a la capacidad que tienen (en Mediamarkt, un Lacie de 500 GB por 116 euros, por ejemplo) sale muy a cuenta adquirir uno para almacenar nuestras fotos y nuestros documentos… hasta de aquí 3 años almenos ;)

Partiendo de los anteriores artículos Instalar un Servidor Linux Casero: Ubuntu Festy 7.04 y Montar Samba en Ubuntu Festy Server: Carpetas Compartidas, voy a explicar el proceso para instalar un disco duro USB en el servidor y prepararlo para el acceso via Samba, como un recurso compartido visto desde Windows.

Llegamos a casa con nuestro flamante disco duro externo USB bajo el brazo, lo desembalamos y lo dejamos preparado para ser conectado. Antes de conectarlo abrimos una consola al servidor y verificamos qué volúmenes tenemos conectados al USB, para saber luego cuáles son los nuevos cuando lo conectemos:

$ ls -l /dev/sd*

En Ubuntu, las unidades de almacenamiento de datos (discos duros, lápices USB, …) se nombran como si de unidades SCSI se trataran (sda, sdb, …). Justo ahora podemos conectar el disco duro al ordenador y lo encendemos. El sistema operativo lo reconoce y crea un dispositivo nuevo en /dev. Volvemos a ejecutar el mismo comando:

$ ls -l /dev/sd*

Nos habrán aparecido al menos dos entradas más. Por ejemplo, sdb y sdb1. Este ultimo sera el volumen que montaremos. Ubuntu tiene una nueva forma de identificar los dispositivos, usando su UUID, y lo descubrimos mediante la siguiente instruccion:

$ vol_id /dev/sdb1

Esta nos dara informacion sobre el volumen, de la que nos interesa apuntarnos los valores de los campos ID_FS_TYPE y ID_FS_UUID. El primero es el tipo de particion, importante pues la necesitamos tambien para montarlo, y el segundo es el famoso UUID.

Seguidamente, creamos el directorio que contendra el volumen para nuestros acesos

$ mkdir /mnt/datos2

Y ahora el punto importante, registrar el volumen en el archivo fstab para arrancarlo cada vez que inicie el sistema.

$ vim /etc/fstab

Y crearemos una linea nueva al final del archivo como la siguiente:

UUID=xxxxx /mnt/datos2 vfat

Donde xxxxx es el UUID que nos hemos apuntado anteriormente y vfat es el tipo de particion que tmbien nos hemos apuntado antes.

Una vez guardado el archivo, solo necesitamos recargar el fstab con la siguiente instruccion:

$ mount -a

Compartir el disco duro externo USB por Samba

Dado que tenemos tanto espacio, que tal si lo agregamos a la lista de recursos compartidos que tenemos disponibles? La tarea es sencilla, pero debemos fijarnos en algunos parametros especiales que hasta ahora no hemos tenido en cuenta. Si recordamos el articulo anterior Montar Samba en Ubuntu Festy Server: Carpetas Compartidas, una de las gracias del sistema que montamos es el tema de permisos basado en un grupo de usuarios y unos derechos heredados para todos los archivos que se generen dentro del arbol. La gran diferenia en el caso que nos ocupa es el tipo de particion vfat, que no permite jugar con los permisos de usuario y archivo como lo hacemos con particiones propias de Linux (ext3, …).

Asi que la unica forma de poder setar los mismos permisos es en el momento de montar el volumen. Para ello, debemos editar el archivo de montaje de volumenes:

$ vim /etc/fstab

Y sustituir la entrada referente al disco duro externo USB que acabamos de insertar por la siguiente:

UUID=xxxxx /mnt/datos2 vfat rw,owner,group,uid=1000,gid=1004,suid,dmask=002,fmask=113

Los valores nuevos son los siguientes:

  • rw: Para permitir el acceso en modo lectura y escritura.
  • owner: Define que al montaje del volumen se relacione este con el usuario especificado (mas adelante)
  • group: Lo mismo pero relacionado con el grupo.
  • uid: Define el usuario que tomara posesion del volumen montado. Se define por ID, no por nombre, asi que se debera consultar el archivo /etc/passwd para conocer el ID del usuario que nos interese (en nuestro caso, pepe).
  • gid: Lo mismo pero relacionado con el grupo. El ID lo sacamos del archivo /etc/group, y en nuestro caso nos interesa el grupo samba.
  • suid: Especifica el bit de herencia para los permisos de usuario y archivos que se creen a posteriori en el volumen.
  • dmask: Espeifica que permisos adquiriran los directorios al crearse. Esta escrito en forma de mascara, asi que si queremos que adquieran el permiso 775 deberemos introducir el 002 (777 - 775 = 002).
  • fmask: Lo mismo pero relacionado con los permisos de los archivos. Si queremos el permiso 664 deberemos introducir el 113.

Y acto seguido recargamos el fstab:

$ mount -a

This entry was posted on Tuesday, September 16th, 2008 at 9:41 and is filed under Linux. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply