Cómo Configurar un Servidor Samba en Ubuntu 24.04

Configurar un servidor Samba es una habilidad esencial para cualquier administrador de sistemas que trabaje en entornos de red mixtos. Samba implementa el protocolo SMB/CIFS de Microsoft, lo que permite que máquinas con sistemas operativos Linux, Windows y macOS compartan archivos sin problemas.

En este tutorial, te guiaremos paso a paso para que puedas montar tu propio servidor Samba en Ubuntu 24.04 y acceder a los archivos desde un equipo cliente.

Paso 1: Instalación de Samba y Preparación de la Carpeta

El primer paso es instalar el paquete de Samba en la máquina que actuará como Servidor.

Instalar Samba: Abre la terminal en el equipo Servidor y ejecuta los siguientes comandos para actualizar el sistema e instalar el servicio principal:

sudo apt update
sudo apt install samba

Crear la Carpeta Compartida: Crea el directorio que contendrá los archivos que deseas compartir. Para nuestro ejemplo, lo crearemos en el directorio de inicio del usuario:

mkdir ~/MiCarpetaCompartida

Ajustar Permisos: Para fines de prueba y asegurar que Samba pueda leer y escribir en el directorio, ajustaremos los permisos. Nota: En entornos de producción, se recomienda usar permisos más restrictivos.

sudo chmod -R 0777 ~/MiCarpetaCompartida

Paso 2: Configuración del Archivo smb.conf

El archivo /etc/samba/smb.conf es el corazón de la configuración de Samba. Aquí definiremos nuestra carpeta compartida.

Copia de Seguridad: Siempre haz una copia de seguridad del archivo original antes de editarlo:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Editar el Archivo: Abre el archivo de configuración con un editor de texto:

sudo nano /etc/samba/smb.conf

Añadir la Sección Compartida: Desplázate hasta el final del archivo y añade la siguiente configuración, sustituyendo tu_usuario por el nombre de tu usuario en Ubuntu:

[Carpeta_Compartida]
    comment = Carpeta Compartida ETVlogix
    path = /home/<tu_usuario>/MiCarpetaCompartida
    read only = no
    browsable = yes
    guest ok = no
    force group = <tu_usuario>
    force user = <tu_usuario>
    valid users = <tu_usuario>
    create mask = 0775
    directory mask = 0775
  • guest ok = no asegura que se requiera un usuario y contraseña para el acceso.

Paso 3: Crear el Usuario Samba y Reiniciar el Servicio

Samba utiliza su propia base de datos de usuarios y contraseñas. Debes añadir a tu usuario de Linux a esta base de datos.

Añadir Usuario a Samba: Ejecuta el siguiente comando e introduce la contraseña que usarás para acceder al recurso compartido (puede ser diferente a tu contraseña de Linux):

sudo smbpasswd -a tu_usuario

Reiniciar el Servicio: Aplica los cambios reiniciando el demonio de Samba:

sudo systemctl restart smbd

Paso 4: Abrir Puertos en el Firewall (UFW)

Si tienes el firewall activo (UFW), debes permitir el tráfico entrante para Samba.

Permitir el Tráfico: Permite las reglas predefinidas de Samba:

sudo ufw allow samba

Recargar Firewall: Asegúrate de que las reglas se apliquen de inmediato:

sudo ufw reload

Paso 5: Acceso desde el Cliente Ubuntu

Ahora, nos movemos a la Máquina Cliente (el segundo equipo con Ubuntu) para acceder a la carpeta compartida. Asegúrate de conocer la Dirección IP del Servidor.

Acceso Gráfico (Nautilus): Abre el administrador de archivos (Nautilus). En la barra de direcciones, introduce la siguiente sintaxis, reemplazando DIRECCION_IP_DEL_SERVIDOR con la IP real de tu servidor:

smb://DIRECCION_IP_DEL_SERVIDOR/Compartido_ETV

Aparecerá una ventana de autenticación. Ingresa el nombre de usuario y la contraseña de Samba que creaste en el Paso 3.

Acceso por Terminal (Montaje CIFS): Para montar la carpeta de forma persistente o usar la terminal, necesitarás el paquete cifs-utils:

sudo apt install cifs-utils

Crea un punto de montaje y luego monta el recurso compartido:

mkdir ~/SambaMount
sudo mount -t cifs -o username=tu_usuario //DIRECCION_IP_DEL_SERVIDOR/Compartido_ETV ~/SambaMount

Ahora, la carpeta MiCarpetaCompartida del servidor es visible en el directorio ~/SambaMount de tu máquina cliente. ¡La interoperabilidad está completa!