Compartir archivos en tu LAN con SAMBA
Muchas veces queremos compartir archivos a través de nuestra red local (LAN) ya sea entre sistemas operativos del mismo tipo o diferentes; es decir por ejemplo entre Windows y Linux o simplemente entre Linux; para ello hay dos posibilidades la primera es crear un servidor FTP explicado en el tutorial anterior o crear un servidor SAMBA para compartir archivos de manera más sencilla y rápida.
El servidor FTP requiere de un cliente FTP lo que implica instalar aplicaciones especificas del lado del cliente y solo con ellas poder compartir los archivos, mientras tanto con SAMBA cualquier administrador de archivos puede detectar en la red los discos así como las carpetas compartidas, sin necesidad de instalar aplicaciones adicionales.
SAMBA
Es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows.
Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.
Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.
Instalación de SAMBA en nuestro Debian Linux
Si bien es cierto el tutorial explica como instalar SAMBA en Debian, el proceso es similar en todas las distribuciones Linux; especialmente aquello que tiene que ver con la configuración del mismo.
Para poder instalarlo debemos indicar a Debian desde la terminal o consola el siguiente comando:
# apt-get install samba samba-common-bin
Con esto ya tenemos nuestro servidor SAMBA listo para trabajar; lo que nos queda naturalmente el configurarlo, para ello debemos editar el siguiente archivo, lo haremos como siempre con nano:
# nano /etc/samba/smb.conf
Donde podemos hacer básicamente lo siguiente: en la sección de grupos de trabajo indicar el dominio desde el punto de vista de Windows:
En mi caso deje el nombre por defecto WORKGROUP; que es a su ves como por defecto deja al grupo de red windows
Ya en la parte final del archivo de configuración colocamos las siguientes líneas
[NAS-PI] comment = Disco USB NAS path = /media/pi/NAS-PI read only = no
En donde indicamos lo siguiente – según mi caso -, nombre de la sección entre corchetes [NAS-PI], un comentario que hace referencia al tipo de soporte o directorio compartido, el camino o path indicamos el dispositivo (disco) y el camino completo del directorio o directorios compartidos; en mi caso como se puede observar comparto todo el disco duro externo conectado al puerto USB de una raspberry pi y por ultimo indico que el disco sera accesible tanto para leer y borra archivos, esto al indicar que read only (solo lectura) es igual a no.
Ahora debemos indicar la clave de acceso al servicio de samba, para que cada ves que ingresemos al disco o carpeta compartida nos solicite la clave; pero como SAMBA tiene su propio manejado o gestor de claves y accesos es importante indicarle que usaremos la misma clave que usamos en nuestro equipo; para mi caso sera la raspberry, de la siguiente forma:
# smbpasswd -a pi
de esta forma agregamos al administrador de claves de samba el usuario pi, así que cuando intentemos ingresar en la unidad o carpeta compartida nos solicitara dicho usuario con su clave.
Puesta en marcha
Ahora podemos reiniciar o iniciar el servicio con el siguiente comando
# systemctl restart smbd
# systemctl start smbd
# systemctl stop smbd
PD
Si necesitas mayor control sobre el disco y carpetas compartidas dejo aqui otro ejemplo del archivo de configuración:
[NAS-PI] comment = Disco USB NAS path = /media/pi/NAS-PI writeable = Yes create mask = 0777 directory mask = 0777 browseable = Yes valid users @users force user = pi