Saltar la navegación

2.- Servicio SAMBA.

El servicio SAMBA sirve para compartir recursos entre máquinas Windows y Linux, para ello se utiliza el protocolo SMB, que es el que se encarga de compartir recursos en Windows. Si solo se comparten recursos entre máquinas Linux, el servicio nativo para ese fin es el servicio NFS que se verá en libro siguiente de esta misma unidad.
 
Características del servicio Samba
  • Se utilizan los puertos 137, 138, 139 y 443. Puertos 137 y 138 con protocolo UDP y 139 y 443 con protocolo TCP.
  • Los servicios en Linux, se configuran en un archivo. En el caso de Samba el archivo de configuración es /etc/samba/smb.conf
  • Cuando se tenga el recurso compartido, desde un cliente Linux, podremos acceder al recurso con el comando mount y sistema de ficheros cifs; desde un cliente Windows, a través del explorador en Red o con la ruta UNC.
El servicio Samba se instala y configura en el ejercicio 3 de la tarea.

Paso 1. Instalación del servidor Samba. En máquina router.

Instalar SAMBA, con los 2 paquetes siguientes (se va a instalar la versión 4.3 que se encuentra en repositorios de Ubuntu 18.04):
root@SistemasUbuntu:~# apt-get install samba samba-common-bin

Comprobar si está activo SAMBA. Para ello, hay que saber que SAMBA está compuesto de 2 demonios: smbd y nmbd. Comprobamos con service que están corriendo. Se verá running en verde:
root@SistemasUbuntu:~# service smbd status


● nmbd.service - LSB: start Samba NetBIOS nameserver (nmbd)
Loaded: loaded (/etc/init.d/nmbd; bad; vendor preset: enabled)
Active: active (running) since dom 2018-04-22 23:30:15 CEST; 2s ago
……..…… (para salir pulsar q)
root@SistemasUbuntu:~# service nmbd status

Paso 2. Configuración del archivo /etc/samba/smb.conf

Editar el archivo smb.conf y donde aparece workgroup, rellenar el nombre del grupo de trabajo de tus máquinas windows de la unidad 9. (Si apareciera la línea comentada habría que descomentarla)
workgroup = NOMBRE_GRUPO_TRABAJO

Para este ejemplo, se van a compartir 2 recursos. Una carpeta pública para todos los usuarios, con permisos de solo lectura y otra privada para algunos usuarios, con permisos de lectura y escritura. Para ello, añadir al final de archivo smb.conf:

[publico]
path = /samba/lectura
browseable = yes
guest ok = yes
read only = yes

[escritura]
path = /samba/escritura
browseable = yes
guest ok = no
writeable = yes
valid users = @samba

Significado de las distintas etiquetas:

  • La etiqueta browseable = yes, sirve para que los usuarios conectados, puedan ver en el explorador el recurso, sino es un recurso secreto.
  • En el recurso lectura se ha permitido el acceso a invitados (guest ok = yes), sin embargo, en el recurso escritura no (guest ok = no)
  • En escritura, se ha permitido el acceso a los usuarios que pertenezcan al grupo samba de nuestro Linux (valid users = @samba). También se podría poner usuarios concretos, sin utilizar @. Por ejemplo para permitir acceso a juan y a los usuarios del grupo samba se especifica:
    valid users = juan, @samba

Paso 3. Creación de usuario, grupos, carpetas y permisos en la máquina servidor.

Vamos a crear el grupo samba, e introducir en dicho grupo a los usuarios juan y juana. (juan es un usuario nuevo, y juana un usuario de los creados en la práctica de la unidad 9)

root@SistemasUbuntu:~# adduser juan
root@SistemasUbuntu:~# addgroup samba
root@SistemasUbuntu:~# adduser juan samba
root@SistemasUbuntu:~# adduser juana samba
#Creamos la carpeta samba y subcarpetas lectura y escritura. Cambiamos la pr
opiedad de la carpeta al grupo samba, y sus permisos, de forma que puedan guardar cambios todos los usuarios del grupo.
root@SistemasUbuntu:~# mkdir /samba
root@SistemasUbuntu:~# mkdir /samba/lectura
root@SistemasUbuntu:~# mkdir /samba/escritura
root@SistemasUbuntu:~# chgrp samba -R /samba
root@SistemasUbuntu:~# chmod 770 -R /samba

Todos estos comandos son comandos de administración de Linux explicados en las unidades 5 y 6. Ahora, se utilizan comandos específicos de Samba, para añadir a los usuarios juan y juana como usuarios del servicio samba. Para ello:
root@SistemasUbuntu:~# smbpasswd -a juan
root@SistemasUbuntu:~# smbpasswd -a juana

Una vez realizados cambios en los archivos de configuración de cualquier servicio, hay que reiniciarlo para que surtan efecto los cambios. En el caso de Samba, reiniciamos los 2 demonios:
root@SistemasUbuntu:~# service smbd restart
root@SistemasUbuntu:~# service nmbd restart