Imaginemos un escenario en donde tenemos algunos servidores Linux/Samba y Windows que están compartiendo una carpeta en la red, y nosotros, utilizando Linux como sistema de escritorio queremos montar esas carpetas de red en nuestra maquina. Para lograr esto, es necesario tener el soporte para montar sistemas de archivos en red smbfs/cifs, y además tener instalado los programas que nos permitirán montar dichos sistemas de archivos.
El método tradicional para montar carpetas en red es usar el sistema de archivos smbfs, pero este sistema de archivos tiene el problema que no soporta firmas de seguridad, las cuales están activadas por default en Windows 2003. Si la carpeta a la que nos queremos conectar esta en un servidor Windows 2003, entonces no podremos usar el sistema de archivos smbfs. Pero tenemos la opción de usar el sistema de archivos cifs el cual es la evolución de smbfs que si soporta firmas de seguridad, soporta transferencias de archivos mayores a 2GB y soporte para Unicode UTF-8). El soporte para este tipo de sistemas de archivos en red ya vienen incorporados por default en la mayoría de kernels de las distribuciones actuales.
Las herramientas que nos permitirán montar carpetas en red tanto para cifs y smbfs son parte del programa samba, En Debian/Ubuntu estas herramientas se obtienen instalando el paquete smbfs el cual nos provee el soporte antes mencionado.
Primero instalamos el paquete smbfs:
$ sudo aptitude install smbfs
Montando una carpeta compartida de forma anonima
Supongamos que el servidor WINSRV con la direccion IP 192.168.1.38 esta compartiendo la carpeta publico de forma anonima.
Para montarla usaremos el comando smbmount, por ejemplo:
$ smbmount //WINSRV/publico /home/jorge/WINSRV/publico -o guest
NOTA: En este ejemplo se asume que el directorio WINSRV/publico ya existe en el directorio $HOME de jorge.
Podemos ejecutar el comando mount para verificar si el volumen se monto.
$ mount
....
....
//WINSRV/publico on /home/jorge/WINSRV/publico type cifs (rw,mand,nosuid,nodev,user=jorge)
Si desea que el recurso compartido sea montado automáticamente al inicio del sistema, entonces debe de agregar una entrada en el archivo /etc/fstab, para el ejemplo de arriba se usaría algo así:
//WINSRV/publico /home/jorge/WINSRV/publico cifs defaults,guest 0 0
Y listo, la siguiente vez que reinicie el sistema el sistema de archivos en red se montará automáticamente, si desea probar la configuración en fstab sin reiniciar el sistema pruebe con el comando:
$ sudo mount //WINSRV/publico
Montando una carpeta compartida con autenticación por usuario y contraseña
En este caso el servidor LNXSRV con la direccion IP 192.168.1.39 esta compartiendo la carpeta privada con restricción para acceso con autenticación por usuario y contraseña.
Para montarla usaremos el comando smbmount, así:
$ smbmount //LNXSRV/privada /home/jorge/LNXSRV/privada -o username=jorge
Password:<CONTRASEÑA_DE_JORGE>
Este comando nos preguntará una contraseña, ingresamos la contraseña del usuario jorge
NOTA: En este ejemplo se asume que el directorio WINSRV/privada ya existe en el directorio $HOME de jorge.
Podemos ejecutar el comando mount para verificar si el volumen se monto.
$ mount
....
....
//LNXSRV/privada on /home/jorge/LNXSRV/privada type cifs (rw,mand,nosuid,nodev,user=jorge)
Si desea que el recurso compartido sea montado automáticamente al inicio del sistema tenemos varias alternativas, aquí presentaremos la más simples.
En la primer opción es agregar en el archivo /etc/fstab una linea similar a esta:
//LNXSRV/privada /home/jorge/LNXSRV/privada cifs
username=jorge,password=mi_contraseña,uid=1000,gid=1000,dir_mode=770,iocharset=utf8 0 0
En este caso se usan diferentes opciones de montaje, las nuevas opciones son:
- Nombre de usuario/login en servidor Samba
- Contraseña de la cuenta en el servidor Samba
- UID del usuario local
- GID del usaurio local
- Permisos predeterminados para directorios creados
- Juego de carateres
Esta solución no es recomendada ya que la contraseña del usuario tiene que ser escrita en el archivo /etc/fstab el cual por default en la mayoría de distribuciones el archivo puede ser leído por cualquier usuario del sistema.
Para no escribir las credenciales del usuario en el archivo /etc/fstab use la opción credentials para especificar la ruta a un archivo con las contraseñas del usuario, por ejemplo:
Crear el archivo /home/jorge/.smbcredenciales con el siguiente formato:
username=jorge
password=mi_contraseña
Aseguramos los permisos del archivo:
$ sudo chmod 600 /home/jorge/.smbcredenciales
Y listo, la siguiente vez que reinicie el sistema el sistema de archivos en red se montará automáticamente, si desea probar la configuración en fstab sin reiniciar el sistema pruebe con el comando:
$ sudo mount //LNXSRV/privada
Si deseas conocer más opciones para montar estos sistemas de archivos se recomienda leer la página del manual del comando smbmount y la las paginas en la referencia.
Referencias:
https://help.ubuntu.com/community/MountWindowsSharesPermanently
http://ubuntuforums.org/showthread.php?t=288534