Ahorre 15% en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código: Skills Comenzar
Secciones
Linux

Cómo Instalar y Configurar Samba en Ubuntu: Una Guía Completa Paso a Paso

Samba es una poderosa suite de software de código abierto que permite el intercambio transparente de archivos e impresoras entre computadoras que ejecutan Windows y sistemas operativos tipo Unix como Ubuntu. Al instalar y configurar adecuadamente Samba, puede cerrar la brecha entre entornos Linux y Windows, permitiendo que los usuarios en ambas plataformas compartan archivos, directorios e incluso impresoras en una red de área local o amplia.

Ya sea que esté administrando un laboratorio doméstico, una red de pequeña empresa o un entorno de servidor de producción, esta guía completa lo guía a través de cada paso de la instalación, configuración y seguridad de Samba en Ubuntu — incluyendo opciones avanzadas que la mayoría de los tutoriales omiten.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Un servidor o máquina ejecutando Ubuntu 20.04, 22.04, o 24.04
  • Acceso Sudo o root al sistema
  • Una comprensión básica de la línea de comandos de Linux
  • Conectividad de red entre las máquinas que deseas conectar

Si estás ejecutando Samba en un servidor remoto, un entorno de hosting confiable y de alto rendimiento es esencial. VPS Hosting de AlexHost te proporciona acceso root completo, recursos dedicados y la flexibilidad para configurar tu servidor exactamente como lo necesitas.

Paso 1: Actualizar paquetes del sistema

Antes de instalar cualquier software nuevo, es crítico actualizar el índice de paquetes de tu sistema y actualizar los paquetes existentes a sus versiones más recientes. Esto garantiza compatibilidad y protege contra vulnerabilidades conocidas.

sudo apt update && sudo apt upgrade -y

Espera a que se complete el proceso antes de continuar.

Paso 2: Instalar Samba

Instala el paquete Samba usando el gestor de paquetes APT:

sudo apt install samba -y

Una vez que la instalación se complete, verifica que fue exitosa comprobando la versión de Samba:

smbd --version

Deberías ver una salida similar a:

Version 4.15.13-Ubuntu

También puedes verificar que el servicio Samba está en ejecución:

sudo systemctl status smbd

La salida debe mostrar el servicio como active (running).

Paso 3: Hacer una copia de seguridad del archivo de configuración predeterminado de Samba

Antes de realizar cambios, siempre haz una copia de seguridad del archivo de configuración original. Esto te permite restaurar los valores predeterminados si algo sale mal:

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

Esta es una práctica recomendada que muchas guías pasan por alto pero que los administradores de sistemas experimentados siempre siguen.

Paso 4: Crear y Configurar un Directorio Compartido

4.1 Crear el Directorio

Decide qué directorio desea compartir en la red. Para esta guía, crearemos una carpeta dedicada llamada shared dentro del directorio de inicio:

mkdir ~/shared

4.2 Establecer Permisos del Directorio

Establezca los permisos apropiados en el directorio. Para un entorno compartido donde múltiples usuarios necesitan acceso de lectura y escritura:

chmod 777 ~/shared

> Nota de Seguridad: La configuración chmod 777 otorga permisos completos de lectura, escritura y ejecución a todos los usuarios. Aunque es conveniente para pruebas, no se recomienda para entornos de producción. En una configuración de producción, use permisos más restrictivos como chmod 770 y gestione el acceso a través de la pertenencia a grupos.

Paso 5: Configurar Samba — Editar smb.conf

Abre el archivo de configuración principal de Samba usando un editor de texto:

sudo nano /etc/samba/smb.conf

Desplázate hasta el final del archivo y añade el siguiente bloque de configuración:

[SharedFolder]
   path = /home/username/shared
   available = yes
   valid users = username
   read only = no
   browsable = yes
   public = yes
   writable = yes

Reemplaza username con tu nombre de usuario real del sistema Ubuntu.

Entendiendo Cada Directiva

DirectivaDescripción
pathLa ruta absoluta del directorio que se comparte
availableSi el recurso compartido está disponible para los usuarios
valid usersRestringe el acceso a los usuarios listados
read onlyEstablecer en no para permitir acceso de escritura
browsableSi el recurso compartido aparece al examinar la red
publicPermite el acceso sin autenticación (usar con cuidado)
writablePermite a los usuarios escribir archivos en el recurso compartido

Después de hacer tus cambios, guarda el archivo presionando CTRL + O, luego Enter, y sal con CTRL + X.

Validar la Configuración

Antes de reiniciar Samba, prueba tu archivo de configuración para detectar errores de sintaxis:

testparm

Este comando analiza el archivo smb.conf e informa de cualquier problema. Corrige los errores antes de continuar.

Paso 6: Crear una Cuenta de Usuario de Samba

Samba mantiene su propia base de datos de contraseñas separada de las contraseñas estándar del sistema Linux. Debe agregar una contraseña específica de Samba para cualquier usuario que necesite acceder al recurso compartido.

sudo smbpasswd -a username

Se le pedirá que ingrese y confirme una contraseña. Esta contraseña será necesaria al conectarse a la carpeta compartida desde una máquina Windows o Linux remota.

> Consejo: Utilice una contraseña fuerte y única para cada usuario de Samba. Evite reutilizar contraseñas del sistema.

Para habilitar la cuenta de usuario en Samba (si fue deshabilitada anteriormente):

sudo smbpasswd -e username

Paso 7: Configurar el Firewall

Si tienes UFW (Uncomplicated Firewall) habilitado en tu servidor Ubuntu, necesitas permitir el tráfico de Samba a través del firewall:

sudo ufw allow samba

Verifica que la regla fue añadida:

sudo ufw status

Samba utiliza los siguientes puertos:

  • TCP 445 — SMB over TCP (principal)
  • TCP 139 — Servicio de sesión NetBIOS
  • UDP 137 & 138 — Servicios de nombre y datagram NetBIOS

Paso 8: Reiniciar y Habilitar Servicios Samba

Aplica los cambios de configuración reiniciando los servicios Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Habilita ambos servicios para que se inicien automáticamente al arrancar el sistema:

sudo systemctl enable smbd
sudo systemctl enable nmbd

El servicio nmbd maneja la resolución de nombres NetBIOS, que es importante para que los clientes Windows descubran tu servidor Samba por nombre en la red local.

Paso 9: Acceder a la Carpeta Compartida desde un Sistema Windows

Desde cualquier computadora Windows en la misma red, ahora puedes conectarte a tu compartición Samba de Ubuntu:

  1. Abre el Explorador de archivos
  2. En la barra de direcciones, escribe la ruta de red de tu máquina Ubuntu:
   ubuntu_ip_addressSharedFolder

Reemplaza ubuntu_ip_address con la dirección IP real de tu servidor Ubuntu (por ejemplo, 192.168.1.100SharedFolder)

  1. Cuando se te solicite, ingresa el nombre de usuario de Samba y contraseña que configuraste en el Paso 6
  2. La carpeta compartida ahora aparecerá en el Explorador de archivos, y podrás leer, escribir, copiar y eliminar archivos como lo harías con cualquier carpeta local

Asignar la Compartición como Unidad de Red (Opcional)

Para acceso persistente, puedes asignar la compartición Samba como una unidad de red en Windows:

  1. Haz clic derecho en Este equipo en el Explorador de archivos
  2. Selecciona Asignar unidad de red
  3. Elige una letra de unidad e ingresa la ruta de red
  4. Marca Reconectar al iniciar sesión para montaje automático

Paso 10: Acceder al Recurso Compartido de Samba desde Otro Sistema Linux

En otra máquina Linux, puede conectarse al recurso compartido de Samba utilizando la herramienta de línea de comandos smbclient.

Primero, instale smbclient si aún no está presente:

sudo apt install smbclient -y

Luego conéctese al recurso compartido:

smbclient //ubuntu_ip_address/SharedFolder -U username

Ingrese la contraseña de Samba cuando se le solicite. Se abrirá un shell interactivo similar a FTP donde puede usar comandos como ls, get, put y cd para navegar y transferir archivos.

Montar el Recurso Compartido de Samba en Linux

Para una experiencia más fluida, puede montar el recurso compartido de Samba como un sistema de archivos local utilizando cifs-utils:

sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpassword

Para hacer que el montaje sea persistente después de reinicios, agregue una entrada a /etc/fstab:

//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0

> Consejo de Seguridad: En lugar de almacenar credenciales en /etc/fstab, use un archivo de credenciales con permisos restringidos.

Paso 11: Opciones avanzadas de configuración de Samba

El smb.conf de Samba admite una amplia gama de directivas que te dan control granular sobre tu entorno de uso compartido de archivos. Aquí hay las opciones avanzadas más útiles:

Acceso de solo lectura

Para evitar que los usuarios modifiquen archivos en un recurso compartido, establece:

read only = yes

Acceso de invitado (recursos compartidos anónimos)

Para permitir que los usuarios se conecten sin contraseña:

guest ok = yes
public = yes

> Usa el acceso de invitado solo en redes confiables y aisladas. Nunca lo habilites en un servidor accesible públicamente.

Restringir acceso por dirección IP

Para limitar qué máquinas pueden conectarse a un recurso compartido:

hosts allow = 192.168.1.0/24
hosts deny = ALL

Esto restringe el acceso solo a máquinas en la subred 192.168.1.x.

Múltiples carpetas compartidas

Puedes definir tantos recursos compartidos como sea necesario agregando bloques adicionales a smb.conf:

[Documents]
   path = /home/username/documents
   valid users = username
   read only = no
   writable = yes

[Backups]
   path = /srv/backups
   valid users = admin
   read only = yes
   browsable = no

Establecer conexiones máximas

Para limitar el número de conexiones simultáneas a un recurso compartido:

max connections = 10

Forzar un usuario o grupo específico

Para asegurar que todos los archivos se creen con propiedad de usuario o grupo específica:

force user = samba_user
force group = samba_group

Paso 12: Asegurar su instalación de Samba

La seguridad es primordial, especialmente si su servidor Samba es accesible más allá de su red local. Siga estas mejores prácticas de endurecimiento:

1. Deshabilitar acceso de invitado

A menos que sea explícitamente requerido, siempre deshabilite el acceso anónimo:

map to guest = Never

2. Usar contraseñas sólidas

Aplique contraseñas sólidas y únicas para todos los usuarios de Samba. Evite palabras de diccionario y use una combinación de mayúsculas, minúsculas, números y símbolos.

3. Restringir visibilidad de recursos compartidos

Establezca browsable = no en recursos compartidos sensibles para que no aparezcan al examinar la red. Los usuarios que conocen la ruta exacta aún pueden conectarse.

4. Limitar permisos en directorios compartidos

Aplique el principio de menor privilegio — otorgue solo los permisos que los usuarios realmente necesitan. Evite chmod 777 en producción.

5. Vincular Samba a una interfaz específica

Si su servidor tiene múltiples interfaces de red, vincule Samba solo a la interfaz interna:

[global]
   interfaces = eth0 lo
   bind interfaces only = yes

6. Habilitar registro

Habilite el registro de Samba para monitorear el acceso y detectar actividad sospechosa:

[global]
   log file = /var/log/samba/log.%m
   max log size = 1000
   log level = 1

7. Mantener Samba actualizado

Actualice regularmente Samba para parchear vulnerabilidades de seguridad conocidas:

sudo apt update && sudo apt upgrade samba -y

Elegir el Entorno de Hosting Correcto para tu Servidor Samba

El rendimiento y la confiabilidad de tu servidor de archivos Samba dependen en gran medida de la infraestructura subyacente. Aquí hay algunas opciones de hosting a considerar según tu caso de uso:

  • Equipos pequeños y proyectos personales: Shared Web Hosting proporciona un punto de entrada asequible para cargas de trabajo ligeras.
  • Empresas en crecimiento y equipos de desarrollo: VPS Hosting ofrece recursos dedicados, acceso root completo y la escalabilidad necesaria para ejecutar Samba junto con otros servicios.
  • Cargas de trabajo de alto rendimiento o empresariales: Dedicated Servers ofrecen máximo rendimiento, capacidad de almacenamiento y ancho de banda de red — ideales para entornos de intercambio de archivos a gran escala.
  • Aplicaciones de IA y datos intensivos: Si estás ejecutando Samba junto con cargas de trabajo de aprendizaje automático o procesamiento de datos, GPU Hosting proporciona la potencia de cálculo que necesitas.

Para equipos que también necesitan una experiencia de panel de control administrado, VPS with cPanel simplifica la gestión del servidor mientras te da la flexibilidad de instalar y configurar Samba.

Solución de problemas comunes de Samba

No se puede conectar desde Windows

  • Verifica que el servicio Samba esté en ejecución: sudo systemctl status smbd
  • Comprueba las reglas del firewall: sudo ufw status
  • Confirma que la dirección IP sea correcta y esté accesible: ping ubuntu_ip_address
  • Asegúrate de que el nombre de usuario y la contraseña coincidan con lo establecido con smbpasswd

Permiso denegado al acceder al recurso compartido

  • Comprueba los permisos del directorio: ls -la ~/shared
  • Verifica que la directiva valid users en smb.conf coincida con el nombre de usuario de Samba
  • Confirma que el usuario ha sido añadido con smbpasswd -a username

El recurso compartido de Samba no es visible en la red

  • Asegúrate de que nmbd esté en ejecución: sudo systemctl status nmbd
  • Establece browsable = yes en la configuración del recurso compartido
  • Comprueba que la máquina Windows y el servidor Ubuntu estén en la misma subred

Errores de configuración después de editar smb.conf

  • Ejecuta testparm para identificar errores de sintaxis
  • Restaura la copia de seguridad si es necesario: sudo cp /etc/samba/smb.conf.bak /etc/samba/smb.conf

Conclusión

Instalar y configurar Samba en Ubuntu es una de las formas más efectivas de habilitar el intercambio de archivos multiplataforma entre sistemas Linux y Windows. Siguiendo esta guía, has aprendido cómo:

  • Instalar Samba y verificar la instalación
  • Crear y configurar directorios compartidos con permisos apropiados
  • Agregar usuarios de Samba y gestionar la autenticación
  • Configurar el firewall para permitir el tráfico de Samba
  • Acceder a recursos compartidos desde clientes Windows y Linux
  • Aplicar opciones de configuración avanzadas para control de acceso y rendimiento
  • Reforzar tu instalación de Samba contra amenazas de seguridad comunes

Con la infraestructura de servidor adecuada y una configuración de Samba correctamente establecida, puedes construir un entorno de intercambio de archivos confiable, seguro y de alto rendimiento que sirva a usuarios de Linux y Windows sin problemas. Ya sea que ejecutes Samba en una máquina local o en un entorno de VPS Hosting basado en la nube, los principios en esta guía te ayudarán a obtener el máximo provecho de tu implementación.