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

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. Ejemplos claros de ello son las carpetas compartidas de Retropie o una carpeta donde descargamos nuestros torrents. 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.

Si queremos crear más carpetas para compartir en nuestra red, solo tenemos que añadir al archivo de configuración de Samba otra vez el texto de configuración que he puesto al principio. Eso sí, tenemos que cambiar donde pone [home] por el nombre que le queramos dar a la nueva carpeta, por ejemplo [descargas]. También tenemos que cambiar el comentario y la ruta hacia la nueva carpeta.

Ahora asignaremos la contraseña del usuario en Samba. Para ello, usaremos 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:

[themoneytizer id=»32486-28″]

30 comentarios 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

    Responder
    • 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.

      Responder
    • 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.

      Responder
  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.

    Responder
    • 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.

      Responder
  3. Hola Sergio, yo también he seguido los pasos y he montado una unidad de dropbox con rclone y me gustaría compartirlo por samba, y tengo el mismo problema ¿has encontrado la solución? también he buscado información por internet pero no he encontrado nada, ¡¡si la encuentro la pondré por aquí, sino, a ver si tú tienes suerte!!

    Un saludo y gracias!

    Responder
    • Buenas Edu.

      De momento lo que hago es usar rclone en los dispositivos en los que quiero acceder a mi unidad de Dropbox, Google Drive o lo que sea. Al estar disponible en varios sistemas operativos, no necesito tener esa carpeta de samba para acceder al contenido de las carpetas, optimizando además el ancho de banda de mi red al evitar enviar los datos a la Raspberry Pi y que esta los mande a la nube que uso

      Responder
      • Hola! el problema es q yo tengo un pc sin conexión a internet y necesito conectarme a un drive de google y a un dropbox, entonces la pi la tengo para acceder a esas carpetas desde el pc sin conexión. Así q he estado mirando y en vez de usar el protocolo SAMBA, estoy probando con el protocolo NFS, q he visto q se puede instalar en Windows, y es mucho más rápido q SAMBA, pero el problema es q al configurar en la pi el protocolo NFS me da error, estoy mirando tutoriales, pero no doy con la tecla.

        Saludos

        Responder
        • Si la Raspberry Pi tiene conexión a internet y el ordenador en el que quieres conectarte a las unidades de rclone están en la misma red, lo normal es que ambos equipos tengan conexión a internet. Comprueba primero si realmente tienes conexión a internet o no, porque quizás tengas algún problema de configuración y por eso no tengas internet en el ordenador con Windows. Comprueba una vez has hecho eso que puedes compartir una carpeta normal con samba y luego ya te pones con el tema de las carpetas de rclone.

          El problema que tengo yo es que, al entrar en las carpetas, me dice que no tengo permisos para acceder a esa carpeta en concreto, por temas de fuse, rclone y samba. Una vez consigas compartir una carpeta prueba a cambiar los permisos a la carpeta de la nube desde una terminal a ver si así ya te deja acceder a la carpeta usando el comando chmod con la carpeta en una terminal.

          Responder
          • No, no, el pc que tengo con Windows lo tengo yo sin acceso a internet a cosa hecha, por motivos de trabajo, de ahí que quiera compartir la pi a través de SAMBA/NFS con el montaje de rclone a través de la red local. Soy consciente de q el pc con windows no tiene acceso a internet.

            Saludos

          • ¿Pero ese mismo ordenador tiene acceso a la Raspberry Pi? ¿Puedes acceder mediante SSH o cualquier otro metodo para controlar la Raspberry Pi? porque si no puedes acceder a la Raspberry Pi no podrás acceder a las carpetas compartidas

          • Sí, claro, tengo acceso por ssh desde el pc sin conexión a la raspberry, están en la misma red local.De hecho, tengo acceso a cualquier pc de la red, desde el equipo sin conexión, ahora estoy escribiendo desde la raspberry pi4 por escritorio remoto desde el equipo sin conexión. Sin ningún problema.

            Saludos

          • Buenas Edu.

            Lo único que he podido encontrar es esta entrada en el foro de rclone donde se explica un caso similar y se recomienda cambiar tanto la configuración de rclone como la de samba con una configuración de permisos 0770 y probar, aunque la persona que lo escribió dice que no sabe exactamente que le funcionó, pero le funcionó.

        • Gracias! probaré cuando tenga un hueco, también me han dicho que funciona usando contrab, probaré en dos pis diferentes las dos soluciones y te diré el resultado. Pero no se cuando podré hacerlo. Saludos

          Responder
          • Hola! ¡¡puedo ver el montaje de rclone desde otro pc a través de samba!! en vez de montar el servicio, he montado la unidad con crontab ¡¡y puedo acceder desde otro pc!! también probé la otra solución q ponías del foro de rclone y esa no me funcionó

            Gracias!!

            Un saludo

    • Si cambias en el fichero del servicio los permisos de 0777 a 0022 te deja ver el contenido de la carpeta montada en rclone por samba!! lo he escrito también en la entrada de la configuración de rclone.

      Saludos

      Responder
  4. Buenas tardes, he seguido los pasos y no hay manera. Yo entro a la raspberry por SSH con putty desde mi w7 sin problemas.
    Y desde mi movil, abro un navegador de archivos y veo la carpeta compartida en la raspberry sin problemas.
    Pero desde mi w7, no veo la carpeta de raspberry ni pa tras……no aparece en RED del navegador de archivos….

    Responder
  5. Sigo los pasos del tutorial, y veo el contenido de la carpeta compartida de la pi a través de Windows, pero el problema q tengo es q no me deja copiar archivos, me da error de escritura…

    Responder
  6. hola Sergio.
    Excelente trabajo, muy bien detallado, paso a paso, realmente te felicito, un trabajo fenomenal.

    Segui tu tutorial y funciono a la primera.

    Aprovecho para hacerte una consulta, como hago para compartir varias carpetas simultaneamente? Tengo mi raspberry como un pequeño servidor de almacenamiento hogareño donde tengo varios discos externos conectados.

    Desde ya muchas gracias, y saludos cordiales.

    Responder
    • Buenas Daniel.

      Gracias por avisar de que no expliqué como crear varias carpetas compartidas. En caso de querer hacerlo, puedes añadir tantas veces quieras la configuración de carpetas de Samba al final del archivo, como carpetas quieras compartir. Una vez hagas eso, lo único que tienes que hacer es reiniciar el servicio de Samba y ya las tendrías.

      Responder
  7. hola, para que samba ligue con win 10. Instalar samba, nautilus, nautilus-share, smbclient, fusesmb. Crear un grupo de trabajo por ej. SANTA-FE ( en mayus).
    sudo addgroup SANTA-FE –force-badname, unir pi a
    sudo adduser pi SANTA-FE –force-badname
    sudo adduser pi sambashare –force-badname.
    crear la carpeta a compartir por ej. zzrasp. Editar smb.conf.
    sudo leafpad /etc/samba/smb.conf y modificar
    workgroup = SANTA-FE
    abajo de profile crear
    [raspi]
    ###comment = Users profiles
    path = /home/pi/zzrasp
    guest ok = yes
    browseable = yes
    read only = no
    create mask = 0777
    directory mask = 0777
    guardar. Reiniciar, con Archivos (nautilus) cambiar el grupo de trabajo PI a SANTA-FE y los permisos a crear y eliminar.
    En win 10 panel de control->programas y caracteristicas-> abrir caracteriticas y tildar las casillas smb lininux nfs. Cambiar el grupo de trabajo de WORKGROUP a SANTA-FE. Win avisa que se unido correctamente al gupo SANTA-FE reiniciar ambas pc.
    En el explorador de win ir a red y abrir la rasp y aparece la carpeta zzrasp y las carpetas que contengan. Todas las carpetas que creen el zzrasp deben tener grupo de trabajo SANTA-FE.
    En android instalar cxexplorer y vlc. Abrir cx explorer->red-red domestica y abrir las rasp como usuario anonimo si tiene video o musica la pueden reprodudir con vlc o cargar y descargar archivos.
    Saludos.

    Responder
  8. Hola, buenas.
    Gracias por el post.
    He seguido cada paso y a funcionado, lo unico es que me renombra los archivos al acceder desde la carpeta compartida.
    Un archivo nombrado como D350_20:534:53 en la Raspberry, en la carpeta compartida en Windows me sale como DGN8UM~9.
    ¿A que se debe?

    Responder

Deja un comentario