En cualquier empresa con un entorno mixto de Linux y Windows, tarde o temprano necesitas que ambos sistemas compartan archivos entre sí. Samba es la herramienta que lo hace posible: implementa el protocolo SMB (el mismo que usa Windows de forma nativa) en un servidor Linux, de modo que los equipos Windows lo ven como una carpeta compartida normal.
El escenario
Para practicar esto necesitas dos máquinas virtuales en la misma red:
- Una con Linux (Ubuntu Server es buena opción, no hace falta interfaz gráfica).
- Una con Windows (Windows 11, por ejemplo).
- Ambas en modo de red Interna o Puente, para que se vean entre sí.
Paso 1: comprobar la conectividad
Antes de tocar Samba, confirma que las dos máquinas se ven en red. Comprueba la IP de cada una y haz un ping cruzado entre ellas. Si no hay respuesta, resuelve el problema de red antes de continuar — no tiene sentido configurar Samba si las máquinas ni siquiera se comunican.
Paso 2: instalar y configurar Samba en Linux
Instala el paquete:
sudo apt update
sudo apt install samba -y
Verifica que el servicio está activo:
sudo systemctl status smbd
Crea la carpeta que vas a compartir y un archivo de prueba dentro:
sudo mkdir /srv/empresa
echo "Bienvenido al recurso compartido" | sudo tee /srv/empresa/bienvenida.txt
Paso 3: definir el recurso compartido en smb.conf
La configuración de Samba vive en /etc/samba/smb.conf. Al final del archivo, añades un bloque como este para publicar la carpeta:
[EMPRESA]
path = /srv/empresa
read only = no
guest ok = yes
[EMPRESA]es el nombre con el que verás el recurso desde Windows.read only = nopermite escribir en la carpeta, no solo leer.guest ok = yespermite el acceso sin pedir usuario ni contraseña (solo para pruebas iniciales; se retira en el paso de seguridad).
Reinicia el servicio para que tome la nueva configuración:
sudo systemctl restart smbd
Paso 4: acceder desde Windows
Con el servidor ya configurado, desde el equipo Windows abres el explorador de archivos y escribes en la barra de direcciones:
Deberías ver el recurso EMPRESA listado. Entras, y puedes comprobar que el archivo bienvenida.txt está ahí, además de poder crear archivos nuevos si los permisos de escritura están bien configurados.
Para no tener que escribir la ruta cada vez, puedes mapear una unidad de red permanente: botón derecho sobre el recurso → “Conectar a unidad de red”, eliges una letra y marcas la opción de reconectar al iniciar sesión.
Paso 5: seguridad — quitar el acceso de invitado
Dejar guest ok = yes en un entorno real es un riesgo: cualquiera en la red accede sin credenciales. El último paso es cerrarlo:
- Crea un usuario del sistema en Linux (si no existe ya):
sudo adduser usuario_samba
- Dale una contraseña específica de Samba a ese usuario (Samba mantiene su propia base de contraseñas, separada de la del sistema):
sudo smbpasswd -a usuario_samba
- Modifica el bloque en
smb.confpara desactivar el invitado y restringir el acceso:
[EMPRESA]
path = /srv/empresa
read only = no
guest ok = no
valid users = usuario_samba
- Reinicia el servicio de nuevo:
sudo systemctl restart smbd
Ahora, al intentar acceder desde Windows, te pedirá usuario y contraseña — las del usuario Samba que creaste, no las de tu cuenta de Windows.
Pon a prueba lo que has entendido
Dejas 'guest ok = yes' en la configuración de Samba de un servidor real. ¿Cuál es el riesgo?
Comandos útiles para diagnosticar problemas con Samba
Cuando algo no funciona como debería, estos comandos ayudan a localizar el problema sin tener que revisar todo el archivo de configuración a ciegas:
testparm
Comprueba que la sintaxis de smb.conf es correcta antes de reiniciar el servicio — evita reinicios fallidos por una llave mal cerrada o un parámetro mal escrito.
smbstatus
Muestra qué usuarios están conectados en ese momento y qué recursos están usando, útil para saber si el servicio realmente está recibiendo conexiones.
sudo journalctl -u smbd -n 50
Muestra las últimas 50 líneas del registro del servicio Samba, la primera parada cuando algo falla y no sabes por qué.
Diferencia entre reiniciar y recargar la configuración
systemctl restart smbd corta todas las conexiones activas antes de aplicar los cambios — puede interrumpir a alguien que esté copiando un archivo en ese momento. Si solo has cambiado algo pequeño en smb.conf, es más elegante usar:
sudo systemctl reload smbd
reload aplica la nueva configuración sin cortar las conexiones existentes, siempre que el cambio no requiera un reinicio completo del servicio.
Resumen rápido
Samba traduce el protocolo SMB de Windows a un servidor Linux, permitiendo compartir carpetas entre ambos sistemas. El proceso es: instalar el paquete, definir el recurso en smb.conf, probarlo primero con acceso de invitado para verificar que funciona, y cerrarlo después con un usuario y contraseña específicos antes de darlo por terminado.