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 usar sudo o iniciar sesión como usuario root 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.

Acceso Servidor desde Windows con Samba

Ahora tendrás un acceso rápido y sencillo desde tus dispositivos Windows a las carpetas del servidor.

Referencias