User Tools

Site Tools


redes:debian_samba

This is an old revision of the document!


Compartición de archivos entre Linux y Windows con Samba

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 InterfazIPv4 Máscara
Servidor Debian enp0s8 192.168.26.10255.255.255.0
Cliente Windows 11Ethernet 192.168.26.20255.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.

redes/debian_samba.1793805476.txt.gz · Last modified: by mansky