15%

Ahorra 15%<\/span> 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
31.10.2024

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

Samba es un potente conjunto de software de código abierto que permite el intercambio fluido de archivos e impresoras entre computadoras que ejecutan Windows y sistemas operativos similares a Unix, como Ubuntu. Al instalar y configurar correctamente Samba, puede cerrar la brecha entre entornos Linux y Windows, permitiendo que los usuarios en ambas plataformas compartan archivos, directorios e incluso impresoras a través de 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, incluidas opciones avanzadas que la mayoría de los tutoriales omiten.

Requisitos previos

Antes de comenzar, asegúrese de tener:

  • Un servidor o máquina que ejecute 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 desea conectar

Si está ejecutando Samba en un servidor remoto, un entorno de alojamiento confiable y de alto rendimiento es esencial. Alojamiento VPS de AlexHost le proporciona acceso root completo, recursos dedicados y la flexibilidad para configurar su servidor exactamente como lo necesita.

Paso 1: Actualizar paquetes del sistema

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

sudo apt update && sudo apt upgrade -y

Espere a que se complete el proceso antes de continuar.

Paso 2: Instalar Samba

Instale el paquete Samba usando el gestor de paquetes APT:

sudo apt install samba -y

Una vez completada la instalación, verifique que fue exitosa comprobando la versión de Samba:

smbd --version

Debería ver una salida similar a:

Version 4.15.13-Ubuntu

También puede verificar que el servicio Samba se está ejecutando:

sudo systemctl status smbd

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

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

Antes de hacer cambios, siempre haga una copia de seguridad del archivo de configuración original. Esto le 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

Decida qué directorio desea compartir a través de 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 varios 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. Si bien 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 administre el acceso a través de la pertenencia a grupos.

Paso 5: Configurar Samba — Editar smb.conf

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

sudo nano /etc/samba/smb.conf

Desplácese hasta el final del archivo y agregue 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

Reemplace username con su nombre de usuario real del sistema Ubuntu.

Comprender cada directiva

DirectivaDescripción
pathLa ruta absoluta al directorio que se comparte
availableSi el recurso compartido está disponible para los usuarios
valid usersRestringe el acceso a los usuarios enumerados
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 sus cambios, guarde el archivo presionando CTRL + O, luego Enter y salga con CTRL + X.

Validar la configuración

Antes de reiniciar Samba, pruebe su archivo de configuración para detectar errores de sintaxis:

testparm

Este comando analiza el archivo smb.conf e informa cualquier problema. Corrija cualquier error 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 remota Windows o Linux.

> Consejo: Use 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 previamente):

sudo smbpasswd -e username

Paso 7: Configurar el cortafuegos

Si tiene UFW (Cortafuegos sin complicaciones) habilitado en su servidor Ubuntu, debe permitir el tráfico de Samba a través del cortafuegos:

sudo ufw allow samba

Verifique que la regla se agregó:

sudo ufw status

Samba utiliza los siguientes puertos:

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

Paso 8: Reiniciar y habilitar los servicios de Samba

Aplique sus cambios de configuración reiniciando los servicios de Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Habilite 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 su 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 puede conectarse a su recurso compartido de Samba en Ubuntu:

  1. Abra el Explorador de archivos
  2. En la barra de direcciones, escriba la ruta de red a su máquina Ubuntu:
   ubuntu_ip_addressSharedFolder

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

  1. Cuando se le solicite, ingrese el nombre de usuario de Samba y la contraseña que configuró en el Paso 6
  2. La carpeta compartida ahora aparecerá en el Explorador de archivos, y puede leer, escribir, copiar y eliminar archivos como lo haría con cualquier carpeta local

Asignar el recurso compartido como unidad de red (Opcional)

Para un acceso persistente, puede asignar el recurso compartido de Samba como una unidad de red en Windows:

  1. Haga clic derecho en Este equipo en el Explorador de archivos
  2. Seleccione Asignar unidad de red
  3. Elija una letra de unidad e ingrese la ruta de red
  4. Marque 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 usando 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. Será llevado a 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 usando 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 entre 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 le dan control granular sobre su entorno de intercambio de archivos. Aquí están las opciones avanzadas más útiles:

Acceso de solo lectura

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

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

> Use el acceso de invitado solo en redes confiables y aisladas. Nunca lo habilite 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 a máquinas en la subred 192.168.1.x solamente.

Múltiples carpetas compartidas

Puede 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 garantizar que todos los archivos se creen con una 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 fuertes

Aplique contraseñas fuertes y únicas para todos los usuarios de Samba. Evite palabras del 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 — solo otorgue 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 alojamiento correcto para su servidor Samba

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

  • Equipos pequeños y proyectos personales: Alojamiento web compartido proporciona un punto de entrada asequible para cargas de trabajo ligeras.
  • Empresas en crecimiento y equipos de desarrollo: Alojamiento VPS 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: Servidores dedicados ofrecen rendimiento máximo, capacidad de almacenamiento y rendimiento de red, ideales para entornos de intercambio de archivos a gran escala.
  • Aplicaciones de IA e intensivas en datos: Si está ejecutando Samba junto con cargas de trabajo de aprendizaje automático o procesamiento de datos, Alojamiento GPU proporciona la potencia de cálculo que necesita.

Para equipos que también necesitan una experiencia de panel de control administrado, VPS con cPanel simplifica la administración del servidor mientras le proporciona la flexibilidad para instalar y configurar Samba.

Solución de problemas comunes de Samba

No se puede conectar desde Windows

  • Verifique que el servicio
15%

Ahorra 15%<\/span> 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