lunes, 18 de enero de 2010

Acceso de una carpeta compartida de Windows desde Linux


Una de las formas más sencillas para montar una carpeta compartida de Windows en un equipo en Linux es hacer uso de Samba/CIFS. CIFS (Common internet File System) es el nombre adoptado por Microsoft para el protocolo SMB, un protocolo de red, de la capa de aplicación de OSI, creado por IBM y que, fundamentalmente, permite compartir archivos e impresoras. El equivalente a CIFS en entornos UNIX/Linux es Samba.

Lo que vamos a necesitar es un punto de montaje, un usuario/contraseña de Windows para acceder a la carpeta compartida y un fichero para almacenar estas credenciales de acceso.
En primer lugar, lo que haremos es crear el directorio que utilizaremos como punto de montaje, que en mi caso (Debian) he elegido hacerlo dentro de /media:

        mkdir /media/ficheros

 
y además vamos a crear un directorio y un fichero para almacenar el usuario/contraseña de acceso a Windows y así no almacenarlos en el fichero /etc/fstab (al que tienen acceso de lectura los usuarios):

        mkdir /home/usuario/secsmb

 
donde secsmb es el directorio que hemos creado dentro del directorio de usuario. A continuación, vamos a impedir el acceso a este nuevo directorio, excepto al usuario root:

        chmod 700 /home/usuario/secsmb
        chown root /home/usuario/secsmb

 
Accedemos como root (con su o sudo) al directorio y creamos un archivo en el que almacenaremos el usuario y la contraseña:

        cat /home/usuario/secsmb/smbfich

 
donde smbfich es el fichero que hemos creado. Tendrá el siguiente formato:

        username=nombre_usuario_Windows

        password=contraseña

 
Una vez creado este archivo, sólo nos queda modificar el fichero /etc/fstab para que se realicé el montaje automático cada vez que se inicie el equipo. Deberemos acceder como root a este fichero y añadir la siguiente línea:

//servidor/ruta/dir_compartido    /dir_pto_montaje    cifs    user,uid=0,gid=0,ip=dir_IP_equipoWin, credentials=/ruta_archivo_credenciales/archivo_credenciales         0    0


Hacemos uso en este caso de CIFS y no de SMBFS, sistema de ficheros que lleva unos años marcado como obsoleto o "deprecated". Si tuviésemos problemas con el juego de caracteres, y tuviésemos que hacer uso de tildes o Ñs, añadiremos a la línea de montaje:

        iocharset=iso8859-15,codepage=cp850