====== Práctica Compartición de archivos entre Linux y Windows con Samba ====== **Versión:** V_26_11 **Objetivo:** Crear una carpeta compartida en Debian y acceder a ella desde Windows mediante SMB. Una máquina Debian actuará como servidor de aula y un equipo Windows 11 como cliente. Ambos estarán conectados a la misma red privada de VirtualBox. Pondremos en cada sistema operativo 2 tarjetas de red, una en NAT y otra en adaptador puente ^**Equipo** ^**Interfaz**^**IPv4** ^**Máscara** ^ |Servidor Debian |enp0s8 |192.168.26.10|255.255.255.0| |Cliente Windows 11|Ethernet |192.168.26.20|255.255.255.0| **1. Configuramos la interfaz de Debian.** Configuramos la tarjeta de red adaptador puente de una de las formas que hemos aprendido **2. Configurar Windows 11.** En Windows abre Configuración, Red e Internet, Configuración de red avanzada, Más opciones del adaptador. Con botón derecho en Ethernet entra en Propiedades, selecciona Protocolo de Internet versión 4 y pulsa Propiedades. * Marca Usar la siguiente dirección IP. * Escribe 192.168.26.20 como dirección IP y 255.255.255.0 como máscara. * Deja vacías la puerta de enlace y los DNS, porque este ejemplo no dispone de router ni requiere resolver nombres. **3. Comprobar la configuración y hacer ping.** Primero se revisan los datos locales; después se prueba la comunicación entre ambos equipos. # En Debian ip -br addr ping -c 4 192.168.26.20 ipconfig ping 192.168.26.10 **4. Observar ARP.** Al estar ambos equipos en la misma red, el cliente necesita conocer la dirección MAC del servidor mediante ARP. ip neigh show traceroute -n 192.168.26.10 **5. Instalar Samba y crear el grupo de trabajo local.** Se crea un grupo específico para gestionar los permisos de la carpeta compartida. sudo apt update sudo apt install samba smbclient sudo groupadd -f redlocal sudo usermod -aG redlocal alumno samba instala el servidor SMB. smbclient permite hacer una comprobación desde Linux. groupadd -f no genera error si el grupo ya existe. usermod -aG añade al usuario al grupo sin quitarle otros grupos. He utilizado como usuario alumno, pero deberías de poner el usuario que has creado **6. Crear la carpeta y aplicar permisos Linux.** La carpeta se coloca fuera de /home para que su función sea claramente la de recurso compartido. sudo install -d -o alumno -g redlocal -m 2770 /srv/recursos ls -ld /srv/recursos install -d crea la carpeta. -o y -g asignan propietario y grupo. El permiso 2770 permite leer, escribir y entrar al propietario y al grupo; el primer 2 activa setgid, de modo que los archivos nuevos conservan el grupo redlocal. **7. Dar una contraseña Samba al usuario.** Samba mantiene su propia base de credenciales. La cuenta debe existir previamente en Linux. sudo smbpasswd -a alumno Puede coincidir con la contraseña Linux, pero en un entorno real conviene aplicar una política de contraseñas adecuada. **8. Añadir el recurso a la configuración de Samba.** Al final de /etc/samba/smb.conf se incorpora una sección con el nombre visible del recurso. sudo nano /etc/samba/smb.conf [Recursos] path = /srv/recursos browseable = yes read only = no valid users = alumno force group = redlocal create mask = 0660 directory mask = 2770 path indica la carpeta real. browseable permite verla al explorar el servidor. read only = no autoriza cambios. valid users limita el acceso a alumno. Las máscaras determinan permisos para nuevos archivos y carpetas. **9. Validar y arrancar el servicio.** Nunca se debe reiniciar Samba sin comprobar antes que el archivo es válido. sudo testparm sudo systemctl restart smbd sudo systemctl enable smbd sudo ss -ltnp | grep ':445' testparm revisa la sintaxis de smb.conf. smbd ofrece el servicio SMB. ss muestra que el servidor escucha en el puerto TCP 445. **10. Conectar desde Windows.** En el Explorador de archivos escribe la ruta completa en la barra de direcciones. \\192.168.26.10\Recursos También puedes asignar una unidad desde el Símbolo del sistema de Windows. net use Z: \\192.168.26.10\Recursos /user:alumno Windows solicitará el usuario alumno y la contraseña definida con smbpasswd. La segunda orden asigna el recurso a la unidad Z. **11. Probar creación y lectura de un archivo.** Crea desde Windows un archivo llamado prueba_samba.txt y escribe una línea. Después comprueba en Debian que aparece con el grupo redlocal. ls -l /srv/recursos smbclient -L //127.0.0.1 -U alumno La primera orden confirma los permisos Linux. La segunda lista los recursos publicados por el propio servidor y verifica que la cuenta Samba funciona.