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!
Necesariamente debe ser mediante red cableada?
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
Muchas gracias JZ
Muy buen tuto. Me ha venido genial, rápido y facil de entender.
Un fuerte abrazo.
Gracias por tus comentarios Jose Manuel.
Saludos
JZ
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
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
Hola,
¿Si ponemos el path de una carpeta que ya existe debe salir automáticamente? Lo he hecho y no funciona.
¡Un saludo!
Hola Albert, funciona una vez que reinicias el servicio samba.
Saludos
JZ
Saludos me da error el comando restart dice que no encuentra el archivo samba.service
Hola David
En la nueva version el comando es «sudo service smbd restart» (ya actualizamos el tutorial) asi que prueba con ese comando.
Saludos
JZ