- 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.
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 propiedad 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