Cómo compartir una carpeta con Samba entre tu Raspberry Pi y otro ordenador de tu red

Compartiendo carpetas con Samba en una Raspberry Pi

Muchas veces queremos acceder a los archivos de nuestra Raspberry Pi desde otro ordenador de nuestra red. Para esos casos existen muchas opciones más o menos fáciles. Pero cuando lo que queremos es tener esa carpeta de la Raspberry Pi accesible como una carpeta normal de Windows, Samba es la solución.

Y es que Samba es una implementación Open Source del protocolo SMB de Windows. Este protocolo nos permite compartir carpetas entre dos ordenadores de forma sencilla en Windows, y gracias a Samba, también podremos compartir una carpeta desde la Raspberry Pi.

Esto suena muy interesante, ya que podremos usar archivos que tengamos en la Raspberry Pi sin acceder directamente a ella. Y con este tutorial vamos a ver como instalar Samba, como configurarlo y como acceder a una carpeta compartida desde un ordenador con Windows.

Instalando Samba en la Raspberry Pi

Empezamos por la parte más fácil del tutorial, que es la de instalar Samba en la Raspberry Pi. Esto lo haremos con el siguiente comando en la terminal.

sudo apt update && sudo apt install samba samba-common -y

Dejamos que la terminal ejecute el comando y cuando termina, ya tendremos instalado Samba en la Raspberry Pi. Si queremos saber más cosas de la terminal, siempre podemos echarle un vistazo a este artículo que hice de iniciación a la terminal de Linux.

Configurando Samba en la Raspberry Pi

Ahora que tenemos Samba instalado, nos toca configurarlo para compartir una carpeta desde la Raspberry Pi. Para hacer esto, vamos a abrir desde la terminal el archivo smb.conf, donde se encuentra la configuración de Samba. Usaremos el siguiente comando en la terminal para eso.

sudo nano /etc/samba/smb.conf

Con el archivo de configuración abierto, nos desplazaremos al final del mismo, donde escribiremos lo siguiente.

[home]
   comment = Carpeta de inicio de la Raspberry Pi
   path = /home/pi
   browseable = Yes
   writeable = Yes
   only guest = no
   create mask = 0777
   directory mask = 0777
   public = no
Editando smb.conf para añadir nuevas carpetas compartidas a la Raspberry Pi con Samba

Con esto compartiremos la carpeta /home/pi en la red SMB. Es una configuración por defecto para que podamos acceder a todos los archivos y carpetas de esa carpeta con el usuario pi y con una contraseña, que por defecto será la de ese usuario. Pero vamos a ver que significa cada parámetro y que podemos poner en estos para configurarlo.

[home]
  # Es el nombre de la carpeta que aparecerá cuando intentemos
  # acceder a ella desde otro ordenador. Si ponemos [Carpeta]
  # cuando accedamos desde Windows aparecerá Carpeta en el nombre
  # de la carpeta compartida.
  comment = Comentario de la carpeta
  # Es un comentario para la carpeta, no se suele ver en Windows
  # cuando accedemos a la carpeta.
  path = /home/pi
  # La ruta a la carpeta que queremos compartir, carpeta incluida.
  # Si queremos compartir una unidad externa que hemos montado,
  # tendremos que escribir la ruta completa, por ejemplo
  # /mnt/disco_duro
  browseable = Yes
  # Indica si queremos acceder a las carpetas creadas dentro de 
  # esa carpeta. Si ponemos Yes podremos acceder a las subcarpetas.
  # Si ponemos No, no podremos acceder a esas carpetas.
  writable = Yes
  # Aquí podemos definir si queremos poder escribir dentro de la
  # carpeta compartida. Con Yes podremos crear archivos y carpetas
  # nuevas, con No solo podremos leer el contenido de la carpeta.
  only_guest = No
  # Indica si queremos que solo puedan acceder invitados a la
  # carpeta que estamos compartiendo.
  create mask = 0777
  # Este parámetro indica los permisos que tendrá un archivo cuando
  # lo creemos desde la carpeta compartida. 0777 significa que
  # todos los usuarios podran leer, escribir y ejecutar ese archivo
  directory mask = 0777
  # Este parametro funciona igual que create_mask, solo que con las
  # carpetas
  public = no
  # Este parametro nos permite configurar el acceso a la carpeta.
  # Si le ponemos no, necesitaremos contraseña para acceder a la
  # carpeta. Con Yes, la contraseña no será necesaria.

Mi consejo es dejar todo como he puesto en la configuración, menos la ruta a la carpeta que vamos a compartir, el nombre y el comentario. Una vez que esta todo a nuestro gusto, nos toca definir una contraseña para el usuario y ya tendremos casi todo listo para compartir carpetas desde nuestra Raspberry Pi con Samba.

Para asignar la contraseña del usuario en Samba, debemos ejecutar el siguiente comando en la terminal.

sudo smbpasswd -a pi

Una vez hecho esto nos pedirá una nueva contraseña y que la repitamos. Esa contraseña la usaremos en Windows cuando vayamos a acceder a la carpeta compartida.

Y para terminar de configurar Samba en nuestra Raspberry Pi, solo queda reiniciar el servicio, que lo haremos poniendo lo siguiente en la terminal.

sudo service smbd restart
Reiniciando Samba después de configurarlo para que comparta las carpetas que le hemos añadido en la configuración

Accediendo a nuestra carpeta compartida desde Windows

Ahora que está todo funcionando, solo nos queda acceder a la carpeta compartida desde otro ordenador. Normalmente todos usamos Windows, así que vamos a ver como podemos acceder a esa carpeta desde Windows.

Lo primero que tenemos que conocer es la IP de la Raspberry Pi. Para esto, vamos a usar un comando donde veremos la información de las interfaces de red de nuestra Raspberry Pi, y podremos saber que a que IP nos tendremos que conectar. El comando que tenemos que poner en la terminal es el siguiente.

ip addr

Dependiendo de si tenemos la Raspberry Pi conectada con un cable de red o por wifi, tendremos que mirar el resultado de una interfaz. En el caso del cable seria la interfaz eth0 y en el caso de la wifi sería wlan0. Si tenemos más interfaces conectadas a través de un USB, nos aparecerán ahí también. Tenemos que quedarnos con los 4 números que aparecen detrás de inet en nuestra interfaz, que en mi caso serian 192.168.1.136.

Conociendo la IP de la Raspberry Pi con el comando ip addr

Ahora abrimos una ventana nueva del explorador de Windows y en la barra de direcciones ponemos \\IP_DE_RASPBERRY_PI. En mi caso seria \\192.168.1.136.

Escribiendo la IP de nuestra Raspberry Pi en el Explorador de archivos de Windows

Ahora Windows nos pedirá un usuario y una contraseña. Pondremos como usuario pi y como contraseña la que hayamos definido antes, y ya tenemos acceso a nuestra carpeta compartida de la Raspberry Pi gracias a Samba.

Iniciando sesión en la carpeta compartida de nuestra Raspberry Pi

Una vez dentro, veremos las carpetas compartidas por la Raspberry Pi, donde podemos hacer lo mismo que con una carpeta normal. Ahora ya solo nos queda aprovechar estas carpetas para poder copiar archivos desde la Raspberry Pi al ordenador o viceversa.

Navegando por la carpeta compartida de nuestra Raspberry Pi

Más información:

Artículos Relacionados

Cómo compartir una carpeta con Samba entre tu Raspberry Pi y otro ordenador de tu red

6 pensamientos en “Cómo compartir una carpeta con Samba entre tu Raspberry Pi y otro ordenador de tu red

  1. Muchas gracias por el tutorial
    Yo he tenido que poner esto dentro de smb.conf

    [global]
    min protocol = SMB2

    Win 10 no permite conectarse a redes con Samba v1.0 por riesgos de seguridad

    Adicionalmente le puse las siguientes porque tuve bastantes problemas para conectar desde un portátil de empresa con dominio y políticas restrictivas

    [global]
    wins support = yes
    # map to guest = bad user / never
    security = user
    encrypt passwords = true

    1. Buenas Eduardo.

      He comprobado que mi ordenador tuviera desactivado SMB 1.0 para conectarme a la carpeta compartida y por lo que me indica el panel de control, SMB 1.0 está desactivado. Quizás la diferencia sea el que yo uso Windows 10 Home y por lo que me estás contando, posiblemente estés usando la versión profesional, o algo que impide el uso de SMB 1.0. De hecho es por ahí por donde se colaba el WannaCry.

      Muchas gracias por tu comentario, ya que así tendremos más información cuando tengamos un problema de como solucionarlo.

    1. Hola Edgardo.

      ¿Has comprobado que te puedes conectar a la Raspberry Pi desde otras formas, como por ejemplo haciéndole un ping a la IP de la Raspberry PI o conectándote por SSH? ¿Has comprobado que el servicio está funcionando correctamente? Puedes hacerlo ejecutando el comando sudo service smbd status. Comentame luego los resultados para ver si encontramos donde está el fallo.

  2. Buenas, he podido completa todo el tutorial satisfactoriamente, pero cuando trato de acceder a mi carpeta mnt de Rclone me dice que no tengo permiso, lo he intentado desde windows 10 y desde Kodi de la Nvidia Shield, y en los dos me deniega el acceso, ¿alguien sabe que puede estar pasando??
    Un saludo y gracias de antemano.

    1. Buenas David.

      Yo tengo el mismo problema que tú. Por Samba no puedo compartir mi carpeta de rclone. He mirado el problema pero no he encontrado solución. El problema es que al montar la carpeta, esta se crea con unos permisos especiales y samba no puede acceder a la misma. La solución no la he encontrado todavía, pero seria conseguir cambiar los permisos del punto de montaje después de que rclone monte la carpeta. Si encuentro algo te aviso.

Deja una respuesta

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

Scroll hacia arriba