Raspberry PI: Compartir archivos en una red (SAMBA)

Y seguimos con la Raspberry PI y es que estoy montando en casa un servidor Raspberry PI conectado a un disco duro externo.

Este servidor es accesible a través de la red desde un Amazon FireStick donde tengo instalado Kodi y desde donde puedo catalogar todas las películas y series que tengo descargadas.

Para poder compartir esta carpeta en red y que sea visible por cualquier dispositivo usamos SAMBA o como habréis visto en alguna de vuestras máquinas MAC, smb.

¿Que es Samba?

Samba es un software libre licenciado bajo GNU/GPL, que proporciona servicios de impresión e intercambio de archivos utilizando el protocolo SMB/CIFS para todo tipo de clientes, ya sea DOS, Windows, OS/2, Linux y muchos otros. Gracias a Samba, es posible que equipos con GNU/Linux, Mac OS X o Unix funcionen como servidores o actúen como clientes en redes Windows. Además de esto, Samba, permite validar usuarios, hacer de dominio Active Director en redes basadas en Window, servir colas de impresión, directorios compartidos y autenticar con su propio archivo de usuarios.

Como puedes ver Samba da muchos mas servicios además de simplemente compartir archivos en red.

Compartir archivos en red con Raspberry PI con Samba

Lo primero que hay que hacer es instalar los paquetes necesarios en la Raspberry para poder compartir archivos en red con Samba:

Accede a tu Raspberry vía ssh, en mi caso ejecutaré la siguiente orden (en tu caso la IP seguro será otra),

ssh pi@192.168.1.28

Una vez en la Raspberry Pi 3, ejecutaremos la siguiente orden que instalará el servidor samba en la misma,

sudo apt install samba samba-common-bin

Al ejecutar la orden anterior, nos indicará que necesita instalar una veintena de paquetes extras. Le indicamos que deseamos continuar.

Configuración Básica de SAMBA en Raspberry PI

Vamos a configurar el servidor, para ello, necesitamos editar el archivo de configuración. Suponiendo no te has movido de tu Raspberry, es decir, sigues dentro vía ssh, ejecuta la siguiente orden,

sudo nano /etc/samba/smb.conf

Aquí tenemos que modificar el nombre del grupo de trabajo e indicar si tendrá soporte para windows. Esta parte se encuentra en la parte superior del archivo de configuración, en la sección [global]. En mi caso esta parte queda como sigue,

[global]

## Browsing/Identification ###

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

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
   wins support = yes

Una vez que tenemos identificado el grupo de trabajo, y hemos habilitado para el acceso desde Windows, tenemos que indicar que directorios compartimos y en que condiciones. Para ello, tenemos que editar igualmente el archivo anterior /etc/samba/smb.conf y añadir tantas directorios como consideremos.

Para definir que y como compartir, voy a poner como ejemplo uno de los directorios que tengo compartido. Ten en cuenta que para editar el archivo deberás tener permisos de administrador, así deberás ejecutar la siguiente orden,

sudo nano /etc/samba/smb.conf

Yo utilizo nano como mi editor de texto para la terminal, sustitúyelo por el que tu utilices. El contenido que debemos añadir al archivo para el directorio share será el siguiente,

[share]
   comment = Share Directory
   path = /srv/samba/share
   browseable = Yes
   writeable = Yes
   only guest = no
   create mask = 0644
   directory mask = 0755
   public = no

La definición del directorio es como sigue,

  • [share]. Es el nombre del directorio tal y como lo veremos desde nuestro cliente.
  • comment. Es un simple comentario que solo te servirá a ti en principio.
  • path. Es la ruta en la que se encuentra el directorio que compartimos en nuestra Raspberry Pi.
  • browseable. Indica si damos permiso para navegar por los subdirectorios de nuestro directorio compartido.
  • writeable. Da permiso para escribir en el directorio.
  • create mask y directory_mask. Estos dos parámetros se corresponden con los permisos que se aplican a los ficheros y directorios nuevos. Recomendable indicar los valores que he puesto para evitar que cualquiera fuera de este directorio pueda modificar. Te recomiendo que leas el artículo sobre los permisos en Linux para que tengas claros los posibles valores que puedes asignar.
  • public. Define si es necesaria contraseña para conectarse.

Existen muchos mas parámetros para la configuración. Yo he puesto los que utilizo, pero te recomiendo que le des un vistazo a la configuración de samba para tener muchas mas información.

CONTRASEÑA

Samba tiene su propia gestión de contraseñas, con lo que es necesario asignar a cada usuario su propia contraseña. Para ello, ejecuta la siguiente orden en un emulador de terminal,

sudo smbpasswd -a pi

ACTUALIZANDO LA CONFIGURACIÓN

Una vez, hemos realizado todos estos cambios, es necesario reiniciar Samba para que surtan efecto y poder compartir archivos en red según los parámetros definidos. Las ordenes son las siguientes,

  • Para reiniciar Samba,
sudo systemctl restart smbd
  • Para detener Samba,
sudo systemctl stop smbd
  • Para iniciar Samba,
sudo systemctl start smbd

Con todo esto, ya tenemos nuestro servicio Samba en marcha, de forma que podremos compartir archivos en red y también directorios, no solo con nuestros equipos GNU/Linux, sino también con otros equipos de otros sistemas operativos como Windows o MacOSX.


Más información,

Fuente:

https://www.atareao.es/

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada.