Compartir ficheros con Samba/CIFS
Esta receta explica cómo utilizar SAMBA para servir ficheros y cómo acceder a ellos desde otro ordenador. Supondremos que en ambos equipos tienes Debian o sucedáneos.
Introducción
Samba es una implementación libre del protocolo SMB/CIFS. Normalmente se utiliza como medio para interoperar con recursos (ficheros e impresoras) compartidos por máquinas Microsoft y también como servidor de dominio sin los problemas de seguridad y coste típicos de los sistemas Windows.
Sin embargo, Samba puede ser una buena solución como servidor de ficheros entre sistemas operativos libres, ya que ofrece más seguridad que otras alternativas como puede ser NFS, aunque menor rendimiento.
Por otro lado, se desaconseja utilizar Samba para publicar impresoras en favor de CUPS, que es un sistema mucho más especializado y versátil, incluso cuando se requiere interoperar con Windows.
Ingredientes
- samba
- smbfs
Para integrar samba en nautilus
- libgnomevfs2-extra
Instalando
Lo habitual:
La instalación te hará varias preguntas:
- Workgroup/Domain Name: al estilo de Window$. Puedes poner lo que quieras pero recuerda que debería ser conocido por los clientes del mismo grupo.
- Encrypted passwords: Sí
- WINS from DHCP: No
- Samba server: daemons
- Create Samba password DB: Sí
Usuarios
Para habilitar un usuario para usar un directorio compartido con Samba dicho usuario ya debe existir y tener una cuenta shell. Lo puedes activar con:
Compartir recursos
La manera más fácil es editar el fichero /etc/samba/smb.conf
y añadir (al final) un bloque con esta pinta:
[downloads] # nombre del recurso path = /opt/files # directorio compartido writable = yes # el usuario puede borrar y crear ficheros remotamente public = no # se requiere clave para acceder browseable = yes # aparece en el listado de recursos compartidos
Los directorios home de los usuarios están accesibles por defecto (en modo sólo lectura).
Comprobando
La utilidad testparm
compueba posibles fallos en el fichero smb.conf
.
Cliente
Hay varias formas de acceder a los recursos Samba de otro equipo. Si utilizas Nautilus puedes navegar pon la “Red Windows” o escribir una dirección en la barra de direcciones. Por ejemplo, para acceder al recurso “downloads” de la máquina “medusa” escribe:
smb://medusa/downloads
También en Nautilus puedes usar Archivo→Conectar con el servidor. A continuación otras formas de acceder a recursos remotos.
smbfs
Smbfs permite montar un recurso remoto en un directorio, incluso sin ser superusuario. Por ejemplo:
también puedes usar mount
:
o meterlo en /etc/fstab
:
//medusa/downloads /mnt/files smbfs defaults 0 0
Puedes desmontar con smbumount
y umount
respectivamente.
smbclient
Es similar a un cliente FTP en cuanto a su uso y sirve ara obtener mucha información.
Ver los recursos compartidos por otra máquina:
Seguridad
Si tienes un ordenador que usas como router y quieres utilizarlo como servidor de ficheros con Samba, es buena idea que sólo sea accesible desde la red interna. Para ello edita /etc/samba/smb.conf
y en la sección [global]
añade (o descomenta) algo como:
interfaces = 127.0.0.1 eth1 bind interfaces only = true
Cambiando eth1
por la interfaz de tu router a la que tengas conectada tu red local.