Tus archivos desde Windows, instalando un Servidor Samba en Debian
Pese a tener diversas formas de acceder a los archivos del servidor, quizás todas ellas se hacen algo tediosas si estamos acostumbrados a la navegación por carpetas de Windows. Hace poco he descubierto una manera muy sencilla de disponer un servidor de archivos Samba en Debian y derivados para poder acceder desde un cliente Windows como si fuera una carpeta más a los archivos del servidor.
¿Por qué necesitamos un servidor Samba para acceder desde Windows a los archivos en un servidor Linux? Bueno. Por defecto, ambos sistemas utilizan protocolos de archivos compartidos distintos. Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX.
Instalación
La mayoría de los siguientes comandos necesitan privilegios
root
para su ejecución. Puedes usarsudo
o iniciar sesión como usuarioroot
y ahorrarte escribir el prefijo en cada comando.
Instalamos el paquete Samba server:
$ sudo apt update
$ sudo apt install samba -y
Habilitamos el servicio Samba para que inicie con el sistema:
$ sudo systemctl enable smbd
Si usamos el firewall del sistema, necesitamos abrir los siguientes puertos:
$ sudo ufw allow 139
$ sudo ufw allow 445
Reiniciamos el servicio smbd
y comprobamos que está ejecutándose:
$ sudo systemctl restart smbd
$ sudo systemctl status smbd
? smbd.service - Samba SMB Daemon
...
Status: "smbd: ready to serve connections..."
...
Configurando Samba Share
Edita el archivo smb.conf
con el comando sudo nano /etc/samba/smb.conf
, añadiendo al final del documento lo siguiente:
[media]
comment = media folder
path = /media
writeable = yes
browsable = yes
public = no
valid users = danimart1991, root
Adjunto una explicación de cada línea:
[media]
: Es el nombre corto que describe aquello que vamos a compartir. Un identificador.comment
: Un comentario para describir que estamos compartiendo.path
: La ruta de la carpeta que queremos compartir.writeable
: Indica si queremos que la carpeta sea de solo lectura o si quieres permitir que se realizan escrituras y borrados sobre ella.browsable
: Si este recurso compartido se ve en la lista de recursos compartidos disponibles en una vista de red y en la lista de navegación.public
: Indica si la carpeta NO necesita contraseña para acceder a ella.valid users
: Listado de usuarios que tendrán acceso a la carpeta.
Puedes consultar más opciones en la documentación del archivo de configuración.
Guardamos el archivo con la tecla F3
y salimos con F2
.
Configurando Usuarios
Como has podido ver, he indicado en el campo valid users
que usuarios pueden acceder a los archivos. Estos usuarios han de tener acceso a la carpeta compartida y sus archivos, de lo contrario no podrán verlos cuando accedamos desde Windows.
Además, estos usuarios tienen que estar creados en nuestro servidor. De no ser así, basta con usar el comando:
$ sudo useradd danimart1991
A continuación. Tenemos que declarar ese usuario en Samba y asignarle una contraseña exclusiva para este servicio. Para ello usamos el siguiente comando:
$ sudo smbpasswd -a danimart1991
New SMB password: xxxxxxxx
Retype new SMB password: xxxxxxxx
Finalmente reiniciamos el servicio:
$ sudo systemctl restart smbd
Conclusión
Ya tenemos configurado nuestro servidor Samba para su acceso desde Windows. Basta con abrir un Explorador de Archivos, escribir la dirección del servidor y acceder indicando las credenciales que hemos creado previamente.
Ahora tendrás un acceso rápido y sencillo desde tus dispositivos Windows a las carpetas del servidor.
Referencias
- Agradecimientos a José Antonio Simancas (JASimancas)
- Samba
- Server World - Debian 11 Bullseye : Samba
- Linuxito - Instalar y configurar un servidor Samba en Debian
- Unixcop - How to configure Samba Server with Debian 11
- smb.conf — The configuration file for the Samba suite