Montar recursos compartidos Cifs/Samba desde la consola de Linux

Como hace ya mucho tiempo que no escribo nada, hoy me voy a desgraciar y voy a publicar un breve post sobre como montar recursos compartidos Cifs/Samba en un directorio local directamente desde la línea de comandos de Linux.

Si bien para ciertos casos utilizo la herramienta Smb4K (de la cual hablé hace poco aquí), la montar los recursos compartidos remotos, la misma no siempre es la más adecuada para todas las situaciones, por lo que siempre es útil conocer como realizar la misma tarea directamente desde la consola.

  1. Pues bien, la forma más sencilla para montar un recurso compartido remoto en un directorio local de nuestro sistema de archivos es ejecutando el siguiente comando con el usuario root, con la salvedad de los argumentos que se pasan ya que los que van a continuación obviamente son a modo de ejemplo.
    testsrv:~ # mount -t cifs //servidorremoto/opensuse /mnt -o username=miusaurio,password=123,domain=nombreserver
    Básicamente lo que se realiza es decirle al comando mount que monte en el directorio local /mnt el recurso compartido de tipo cifs accesible desde la ruta //servidorremoto/opensuse, indicándole además de forma explícita los datos del usuario, el dominio y la contraseña que debe utilizar para autenticarse debidamente.

    Los datos del usuario y contraseña son requeridos cuando el recurso compartido requiere de autenticación, si el servidor que comparte el recurso remoto forma parte de un dominio, entonces también será necesario especificarle el nombre del dominio que por lo general suele ser el mismo nombre del servidor, a fin de que el usuario pueda ser especificado con el dominio (nombreserver\miusaurio).

  2. Si queremos montar el mismo recurso compartido automáticamente durante el arranque del sistema operativo primero tenemos que editar el archivo /etc/fstab:
    testsrv:~ # vi /etc/fstab
    Y luego agregar al final del archivo una línea similar a la que sigue:
    //servidorremoto/opensuse /mnt cifs defaults,username=miusaurio,password=123,domain=nombreserver,auto 1 1
    Y con eso ya está, la próxima vez que reiniciemos nuestro equipo la unidad debería estar montada.

  3. Sin embargo, quizás no deseamos que todo el mundo pueda ver cual es el usuario y la contraseña para acceder al recurso remoto, pues bien, podemos crear un archivo de credenciales que contenga la información de conexión con unos permisos de lectura seguros. Para ello primero creamos un archivo oculto, le definimos los permisos adecuados y luego lo editamos:
    testsrv:~ # touch /root/.smbcredencials
    testsrv:~ # chmod 600 /root/.smbcredencials
    testsrv:~ # vi /root/.smbcredencials

    Una vez abierto le agregamos un contenido similar a lo que sigue con los datos de autenticación que correspondan.
    username=miusaurio
    password=123
    domain=nombreserver

    Por último sólo nos resta utilizar el contenido del archivo /root/.smbcredencials en nuestros comandos mediante el argumento credentials=/root/.smbcredencials, ya sea montando la unidad desde la línea de comandos:
    testsrv:~ # mount -t cifs //servidorremoto/opensuse /mnt -o credentials=/root/.smbcredencials
    O bien también desde el archivo /etc/fstab:
    //servidorremoto/opensuse /mnt cifs defaults,credentials=/root/.smbcredencials,auto 1 1

Bueno, eso fue todo y espero que le sirva a alguien, hasta la próxima..

Comentarios

Publicar un comentario