Se basa en el protocolo SMB (Server Message Block) que es la base para compartir ficheros e impresoras en Windows.
Si instalamos este servicio en nuestra Raspberry, ésta se convertirá en un auténtico NAS (Network access storage), donde podremos compartir los archivos y carpetas entre los diferentes dispositivos de la red doméstica.
Lo primero que debemos hacer es instalar las paquetes necesarios para nuestro servidor:
$ sudo apt-get install samba samba-common-bin
Una vez instalado "SAMBA" , crearemos los usuarios y el grupo necesarios para que puedan interactuar en las carpetas compartidas.
Al igual que Windows, tenemos que tener en cuenta dos tipos de permisos:
- Los permisos del sistema de archivos.
- Los permisos de compartición propios de samba.
Como nosotros utilizaremos las cuentas locales de la Raspberry, deberemos crear los usuarios y grupos en el sistema y en "SAMBA".
$ sudo adduser -shell
/bin/false --no-create-home usuario
Con estas opciones, hemos creado un usuario que no tenga ninguna shell con la que poder loguearse en el sistema ni conectarse vía ssh,..., además evitamos que se cree el directorio del usuario dentro de "Home", ya que este usuario sólo tendrá acceso a las carpetas compartidas que vamos a crear.
Posteriormente, crearemos los usuarios en "SAMBA" con la opción "-a":
$ sudo smbpasswd -a
usuario
Ya tenemos configurado nuestro usuario "SAMBA", ahora pasaremos a crear el grupo de acceso e incluir a los usuarios que queramos:
$ sudo addgroup samba
$ sudo adduser usuario samba
Una vez configurados los usuarios y grupos, haremos lo mismo con las carpetas compartidas, y asignaremos a ésta los permisos para que puedan acceder. Crearemos por tanto una carpeta compartida en el directorio "Home" llamada "samba" y asignaremos los permisos al grupo, dejando al usuario "root" como propietario:
$ sudo mkdir /home/samba
$ sudo chgrp -R samba /home/samba
$ sudo chmod 770 /home/samba
No debemos olvidar que tenemos que añadir el bit "sedgit", pues si nos conectamos con un usuario y creamos una carpeta o archivo, por defecto el grupo que tendrá los permisos será el grupo principal de éste. Para solucionarlo ejecutamos:
$ sudo chmod g+s /home/samba
Con esto hemos creado la carpeta "samba" asignándole los atributos de propietario al usuario "root" y al grupo "samba" con permisos de escritura,lectura y ejecución en ambos, y sin acceso al resto.
Ahora pasaremos a configurar el servicio "SAMBA". Editaremos el archivo principal:
$ sudo nano /etc/samba/smb.conf
Observamos que hay diferentes opciones. La línea que más nos interesa de momento es la siguiente, que deberemos descomentar:
security=user
Esto habilitará la autentificación a través de las cuentas locales del sistema.
También incluiremos en este archivo los recursos que queramos compartir en "SAMBA".
Añadiremos estas líneas a modo de ejemplo:
[samba] # Nombre del recurso compartido.
comment = Carpeta compartida para el grupo samba.path = /home/samba # Ruta del recurso compartido. read only = No # No permitir a los usuarios no validos que puedan leer. valid users = @samba # Permitir al grupo samba el acceso al recurso. write list = @samba # Otorgar al grupo samba la escritura. create mask = 0660 # Máscara por defecto al crear un archivo. directory mask = 0770 # Máscara por defecto al crear directorio. |
Si queremos permitir el acceso individual a cualquier usuario, solo tenemos que quitar la "@" e incluir todos los usuarios que queramos, siempre separados con ",".
Si deseamos que nuestro recurso no sea visible, le añadimos "$" al final del nombre de éste.
Guardamos el archivo y ejecutamos la herramienta de comprobación del archivo smb.conf:
$ sudo testparm
Reiniciaremos también el servicio:
$ sudo /etc/init.d/samba restart
Debemos de tener también cuenta que si existe un firewall activo en la Raspberry tenemos que abrir el puerto TCP 445:
$ sudo ufw allow 445/tcp
Ya tenemos el servicio "SAMBA" activo, sólo nos faltaría configurarlos en los equipos clientes.
En Windows abriremos el explorador y escribiremos en la zona superior:
\\ip o nombre de la Raspberry\samba
Introducimos el dominio o la ip seguido del usuario y abajo insertamos la contraseña.
En Linux, desde el terminal montaremos la unidad en el directorio que queramos:
$ sudo mount.cifs //192.168.0.101/samba /mnt/samba -o user=usuario_raspberry
En Mac, nos situamos en el "Finder" y vamos a la pestaña "ir">"conectarse al servidor". Introducimos la ip o nombre de la Raspberry mas el recurso compartido (si es necesario):
Ya tendremos configuradas las carpetas compartidas en todos nuestros dispositivos.
En el próximo tutorial crearemos un servidor "OPENVPN" en la Raspberry con el que podremos conectarnos a través de cualquier dispositivo mediante un túnel seguro VPN (Virtual Private Network).
No hay comentarios:
Publicar un comentario