Creando un SMB Server en Python: Comparte archivos de manera sencilla.

Creando un SMB Server en Python: Comparte archivos de manera sencilla

Introducción

SMB es un protocolo de red que permite compartir archivos y carpetas entre computadoras. Es un protocolo muy popular, utilizado por sistemas operativos como Windows, Linux y macOS.

En este tutorial, veremos cómo crear un servidor SMB en Python. Esto nos permitirá compartir archivos y carpetas con otros usuarios de la red de manera sencilla.

Requisitos

Para seguir este tutorial, necesitarás:

  • Un ordenador con Python instalado
  • Una cuenta de usuario con permisos de administrador

Pasos

  1. Instala el módulo pysmb.
pip install pysmb
  1. Crea una carpeta que compartirás con otros usuarios.
mkdir shared
  1. Crea un archivo llamado server.py.
Python
import pysmb

# Crea un servidor SMB en el puerto 445
server = pysmb.SMBServer("localhost", 445)

# Comparte la carpeta `shared`
server.addShare("shared", "/home/user/shared")

# Inicia el servidor
server.start()

# Espera a que el servidor termine
server.join()
  1. Guarda el archivo server.py.

  2. Ejecuta el archivo server.py.

python server.py
  1. En otro ordenador, abre el Explorador de archivos y navega hasta la carpeta \\localhost\shared.

Explicación del código

El código del archivo server.py es el siguiente:

Python
import pysmb

# Crea un servidor SMB en el puerto 445
server = pysmb.SMBServer("localhost", 445)

# Comparte la carpeta `shared`
server.addShare("shared", "/home/user/shared")

# Inicia el servidor
server.start()

# Espera a que el servidor termine
server.join()

La primera línea importa el módulo pysmb.

La segunda línea crea un servidor SMB en el puerto 445. El puerto 445 es el puerto estándar para SMB.

La tercera línea comparte la carpeta shared. El parámetro sharename es el nombre del recurso compartido, y el parámetro path es la ruta de la carpeta que se compartirá.

La cuarta línea inicia el servidor.

La quinta línea espera a que el servidor termine.

Conclusiones

Con este tutorial, has aprendido a crear un servidor SMB en Python. Esto te permitirá compartir archivos y carpetas con otros usuarios de la red de manera sencilla.

Puntos a tener en cuenta

  • El servidor SMB se ejecuta en el puerto 445. Es importante que este puerto esté abierto en el firewall.
  • El servidor SMB utiliza la autenticación NTLM. Esto significa que los usuarios deberán tener una cuenta de usuario en el ordenador que ejecuta el servidor.

Ejercicios

  • Modifica el código para compartir una carpeta con un nombre de usuario y contraseña específicos.
  • Añade permisos de acceso a los recursos compartidos.
  • Configúra el servidor SMB para que se inicie automáticamente al arrancar el ordenador.