¿Qué es Samba?
Samba es un protocolo para compartir archivos e impresoras entre windows y linux y viceversa, resumiendo a modo bruto es tal cuál.
Instalación
En este caso vamos a instalar Samba sobre Ubuntu, para ello desde la terminal ejecutamos el comando.
apt update
apt upgrade
apt-get install samba
Ahora vamos a habilitar el servicio y que se inicia automáticamente cada vez que nuestro servidor se reinicie.
systemctl enable smbd.service
Ahora vamos a asegurarnos que todo fue bien y samba está ya corriendo.
systemctl status smbd.service
Si nos aparece como la imagen todo salió bien.
Agregar usuario a Samba
Ahora vamos a añadir al grupo de samba un usuario para poder acceder, puede ser un usuario ya existente o crear uno nuevo para tal fin.
usermod -aG sambashare NOMBREDEUSUARIO
A continuación le establecemos una contraseña para samba a este usuario, OJO esta contraseña es para samba nada tiene que ver con la de acceso al sistema.
smbpasswd -a NOMBREDEUSUARIO
Configurar recursos compartidos
La configuración del servidor Samba se encuentra en /etc/samba/smb.conf por lo que vamos a proceder a editar dicho archivo.
nano /etc/samba/smb.conf
No tenemos en principio que modificar nada, sólo nos vamos al final del archivo y añadimos lo siguiente, lógicamente cambiando según sea el caso la ruta y nombre del recurso.
[torrents]
comment = Recurso Samba
path = /home/torrents
browseable = yes
guest ok = no
read only = no
create mask = 0775
Tiene muchas más opciones que podéis consultar en el man de samba pero en este caso para compartir simplemente es así, no habilitar invitados en este caso y no sólo lectura, respecto a los permisos en este caso serán 775, cada uno puede configurar según su necesidad.
Guardamos los cambios y reiniciamos el servicio.
systemctl restart smbd.service
Ahora si vamos a cualquier sistema Windows y en la barra del explorador de archivos ponemos \\IP DEL SERVIDOR nos deberá pedir un usuario y contraseña que será el que le establecimos anteriormente la contraseña.
Montar recurso Samba
Bien ahora vamos a ver como montar una carpeta samba que acabamos de compartir en otro equipo, en Windows es simplemente montar como unidad de red ahí poco hay que explicar, vamos a explicar como montar en linux con el comando mount.
sudo mount -t cifs //IP SERVIDOR/torrents /pathlocal -o username=username,password=contraseña,iocharset=utf8,uid=root,gid=root,forceuid,forcegid,cifsacl
Por pathlocal se refiere a la carpeta en la que se montará la unidad, debemos crearla previamente.