Montar unidades remotas con fstab en GNU/Linux

ochobitsSi partimos de la base que queremos montar una unidad remota, es decir, de otra máquina de nuestra red, en nuestra equipo, podemos hacerlo de dos maneras.

La primera de ellas sería de forma manual con el comando mount. En éste artículo se explica cómo hacerlo de forma automática con fstab.

En nuestra empresa tenemos mayoría de máquinas con sistema operativo Windows, y su habitual sistema de ficheros NTFS.

Por lo tanto en nuestro sistemas GNU/Linux instalaremos el programa cifs-utils para poder montarlas.

  1. su
  2. apt-get -y update && apt-get -y install cifs-utils

Si trabajamos con un sistema basado en Red Hat sería con el comando yum o yast Para lograrlo primero crearemos el directorio donde queremos que se monte la unidad. Lo haremos de la siguiente manera:

  1. sudo mkdir /media/"Nombre que queramos"

 

También podemos usar la ubicación /mnt

Cómo no queremos que nuestro usuario y contraseña del recurso sea visible si revisan el archivo fstab. Añadiremos la información en archivos con permisos de root.

Podemos hacerlo de la siguiente manera:

  1. echo username="nombre de usuario" /root/.smbcredentials
  2. echo password="contraseña" /root/.smbcredentials
  3. chmod 600 /root/.smbcredentials

El siguiente paso es editar el archivo fstab

  1. nano /etc/fstab o vim /etc/fstab

Y añadimos al final del archivo:

  1. /192.168.1.x/directorio_compartido /media/unidad_de_red cifs credentials=/root/.smbcredentials,rw,dir_mode=0777,file_mode=0777,noperm 0 0

 

Expliquemos los conceptos:

//192.168.1.x/directorio_compartido -> Es la ubicación del recurso que queremos montar. Primera parte la IP y después el nombre del recurso.

/media/unidad_de_red/ -> Es la ruta de nuestro sistema, donde se montará la unidad.

cifs -> Es el sistema de archivos que usaremos en este caso, ya que la unidad origen es NTFS

credentials=/root/.smbcredentials -> Rescatamos la información del archivo para usar las credenciales

rw -> Permisos de lectura «r» y escritura «w»

dir_mode=0777,file_mode=0777 ->Damos permisos de lectura, escritura y ejecución para los usuarios 0777.

noperm ->Indicamos que no queremos que se haga una prueba de permisos

Una vez hechos todos los pasos sólo nos queda reiniciar.

NOTA:

Puede ser que una vez montada la unidad no nos deje escribir en ella. Debemos recordar que la unidad de origen debe de estar habilitada para la escritura.

Información extraída de:

http://blog.motionflux.com/2008/07/26/ubuntu-hardy-montar-unidad-de-red-lecturaescritura-con-cifs/

http://es.wikipedia.org/wiki/Server_Message_Block

http://es.wikipedia.org/wiki/Fstab

15 Respuestas

  1. Mikel Garin dice:

    Hola.
    Muy buen aporte. Siempre colocaba las credenciales en el fichero fstab y el sistema que planteas usando un archivo en el directorio de root esta muy bien.
    Tengo un par de dudas. ¿Cuando le das permisos 644 al archivo smbcredencial, no estas dando permiso a terceros para precisamente leer el archivo? La segunda duda viene de la dir_mode y file_mode. ¿Que significa 0777, podrías explicarlo un poco más?

    Muchas gracias!!!

  2. David dice:

    Hola Mikel,
    Antes de nada muchas gracias por visitar nuestra página.
    Respecto a la primera pregunta tienes toda la razón, de hecho acabo de modificar el artículo indicando que los permisos correctos serían «chmod 600 .smbcredentials», aunque también tenemos que tener en cuenta que al directorio root sólo puede acceder el propio root, aún así no viene mal añadir más seguridad.
    Respecto a la segunda pregunta, indicando 0777 le decimos al sistema que nos monte la unidad con permisos 0777 a nivel de carpeta y a nivel de fichero, es decir escritura, lectura y ejecución por defecto.
    Espero que te sirvan las respuestas.
    David

  3. Mikel Garin dice:

    Ok. Muchas gracias por la aclaración.

  4. Xurxo dice:

    Bien sintetizado y bien explicado.

  5. Gracias! Esa es la intención.

  6. JZA dice:

    Me interesa saber mas sobre ls servicios de redes con Aahi el cual nos permite tener un reconocimiento del DNS. En una red de moviles, laptops y IPs constantemente rontando, una red basada en IP es algo caotico. Usano Avahi donde ls dispositivos (mDNS) son los que transmiten su identificador seria mas productivo.

  7. Hola!
    Gracias por visitar la web. Sinceramente no conocía Avahi, le acabo de echar un vistazo y parece muy interesante.
    Saludos!

  8. Carlos dice:

    hola segui tus pasos y me sale este error:

    mount error(13): Permission denied
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

    alguna sugerencia?
    esta es la configuracion de mi fstab:
    #

    proc /proc proc defaults 0 0
    UUID=26471a79-42f9-40d9-81cb-1c2ce251ad16 / ext4 defaults 0 0
    UUID=7ba30ff4-76c7-45de-bc6b-db9762b53e4d none swap sw 0 0
    /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

    #disco 2
    UUID=e286a71a-5292-487a-bc0a-e958d02c9bbf /media/Disco2 ext4 defaults 0 0

    #MontarRecursos Compartidos
    //200.100.50.1/compartido /media/compartido cifs credentials=/root/.smbcredentials,rw,dir_mode=0777,file_mode=0777,noperm 0 0

    • davidochobits dice:

      Hola,
      Tiene pinta que no tengas permisos de root. Si usas Ubuntu o LinuxMint recuerda usar sudo, o si no el usuario root.
      Recuerda también que en tu caso la carpeta /media/compartido debe de existir y tener permisos de escritura.
      Saludos

    • Francisco dice:

      Se que contesto tarde, pero es que acabo de hacerlo y he tenido el mismo problema.
      En mi caso es que en el fichero de las credenciales había puesto mal el usuario y la contraseña, bueno, lo admitiré…. los había puesto con las comillas.
      Una vez arreglado el error ha funcionado perfectamente

  9. Alvaro García Bruce dice:

    Hola, tengo que montar dos unidades de red, seguí los pasos que indicas y con la primer unidad todo funcionó bien, quise agregar una segunda unidad y recibo un error en la línea 13. Supongo que es porque la carpeta que quiero montar como unidad de red tiene un nombre con espacios: «Sistemas Finanzas». El nombre no lo puedo modificar debido a que es ruta de una base de datos de un programa que necesito respaldar. ¿Qué puedo hacer? Ya lo intenté con //Servidor/Sistemas\ Finanzas y nada. Gracias de antemano

  10. davidochobits dice:

    Hola Alvaro,
    Puedes probar de la siguiente manera : «Sistemas\ Finanzas/», en CentOS funciona de esa manera. La barra final indica que es un directorio.
    Ya me dices.

  11. Rafael Castaño dice:

    Hola

    root@Buster:/mnt/documentales# sudo chmod 600 /root/.smbcredentials
    chmod: no se puede acceder a ‘/root/.smbcredentials’: No existe el fichero o el directorio

    Chau!

  1. 28 julio, 2014

    […] Es muy importante que las copias de seguridad las guardemos fuera de nuestra máquina, es decir, en otra máquina, en la nube o en un disco duro externo. Para éste artículo he guardado las copias de seguridad en un sistema externo con Windows y NTFS, podéis ver como montarlo con fstab en éste artículo. […]

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.