Raspberry Pi – Compartir archivos con Windows usando Samba

En este tutorial veremos como compartir archivos desde la Raspberry Pi a un computador con Windows.

Por la capacidad y por su sistema operativo basado en Linux, la Raspberry Pi se ha convertido en mi pequeño servidor de desarrollo, en ella tengo instalado Python, MySQL, PHP y Nginx. Con esto puedo desarrollar aplicaciones web o aplicaciones en Python, pero acceder a ella por ssh y usar un editor de terminal para programar no es lo optimo cuando existen programas como Atom o Sublime Text.

Aunque se pueden instalar estos editores en la Rasperry Pi, la idea en este tutorial sera otra, compartir una carpeta desde la Raspberry Pi y editar los archivos usando Windows y Atom.

Materiales

  • Raspberry Pi con su sistema operativo actualizado
  • Computador corriendo Windows 7 o 10 que solicite usuario y contraseña al ingresar.
  • Red local (la red que tienes en casa compuesta por el router, tu computador y la Raspberry  Pi conectada a esta red)
  • Cables Ethernet

Procedimiento

Lo primero que debemos hacer es conectar la Raspberry Pi a nuestra red, se supone que ya hemos aprendido como saber que IP obtiene dentro de la red local y como conectarnos usando Putty.

También podemos conectarnos directamente a la consola de la Raspberry Pi usando un teclado y una pantalla en su conector HDMI.

El cable ethernet debemos conectarlo a nuestro router principal que nos instaló nuestro proveedor de Internet, normalmente tienen 4 bocas ethernet identificadas con la palabra LAN (Local Area Network)  para conectar dispositivos a la red.

Luego debemos conectarnos a la Raspberry Pi vía ssh usando Putty (o directamente en la consola de la Raspberry Pi) e instalar los siguientes paquetes de software usando apt-get.

pi@raspberrypi ~ $ sudo apt-get install samba samba-common-bin

Normalmente pregunta si se desea instalar indicando el espacio que usará en la instalación, deben responder con «Y».

Una vez finalizada la instalación de los paquetes debemos editar el archivo de configuración de Samba que es /etc/samba/smb.conf con nuestro editor favorito (el mio es vi pero pueden usar nano o el de su preferencia).

Debemos verificar que los siguientes parámetros estén de acuerdo con la configuración de red, el primero es workgroup, por defecto todos los computadores Windows tienen este parámetro con el valor WORKGROUP, si usas otro nombre de red, debes colocarlo aquí

# Change this to the workgroup/NT-domain name your Samba server will part of
 workgroup = WORKGROUP

Luego hay que verificar que todos los parámetros bajo el grupo [homes] estén con éstos valores

[homes]
  comment = Home Directories
  browseable = no
  read only = no
  create mask = 0700
  directory mask = 0700
  valid users = %S

Ahora debemos crear un usuario con el mismo nombre que usamos en nuestro Windows, en mi caso jzorrilla

pi@raspberrypi:~ $ sudo adduser jzorrilla

y asignarle la misma contraseña que usamos en Windows

pi@raspberrypi:~ $ sudo passwd jzorrilla
 Enter new UNIX password:
 Retype new UNIX password:

Al mismo tiempo debemos asignarle una contraseña al usuario para los servicios Samba con el comando smbpasswd, para evitar que nos consulte por la contraseña al conectarnos, esta contraseña debe ser la misma de Windows

pi@raspberrypi:~ $ sudo smbpasswd -a jzorrilla
 New SMB password:

Finalmente debemos reiniciar el servicio Samba para que asuma todos los cambios

pi@raspberrypi:~ $ sudo service smbd restart

Al ejecutar el comando, no hay ningun tipo de respuesta, pero si no hay errores, eso indica que fue ejecutado correctamente.

Ahora simplemente abrimos el explorador de archivos de Windows y vamos a Red, debería aparecer un nuevo dispositivo en la red llamado RASPBERRYPI, si lo abrimos veremos al usuario jzorrilla (en mi caso) y todos los archivos con permisos de lectura/escritura.

Existen muchas configuraciones dentro de Samba que permiten crear discos compartidos entre varios usuarios, si hay interés puedo hacer otro tutorial al respecto.

Comenten, compartan y saludos a todos!

Author: José Zorrilla

Ingeniero Civil Informático, Universidad de Santiago de Chile. Master of Professional Engineering University of Sydney. En Chile trabajó empresas de servicios internet y telcos como IBM, VTR y Entel. Le gusta la fotografía y el armado de drones, tiene estudios de violín, guitarra eléctrica y sintetizadores que enciende cuando tiene algo de tiempo.

10 thoughts

    1. Estimado Felipe, puedes hacerlo via WiFi, pero es un poco mas lenta que la red cableada, eso se nota cuando quieres pasar archivos de gran tamaño.
      Saludos
      JZ

  1. Buenos dias,

    Estoy tratando de dar permisos avanzados a un una carpeta de tal modo que un grupo de usuarios tengan acceso de lectura a una carpeta y otros de escritura a la misma, podrías poner un ejemplo de smb.conf

    Un saludo y gracias de antemano

    1. Esteban,
      Debes crea la carpeta manualmente y agregar estas lineas al archivo smb.conf


      [sales]
      path = /home/carpetacompartida
      comment = Carpeta compartida
      writable = yes
      valid users = jose esteban laura pedro
      admin users = esteban laura

      Saludos
      JZ

      1. Hola,

        ¿Si ponemos el path de una carpeta que ya existe debe salir automáticamente? Lo he hecho y no funciona.

        ¡Un saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *