Samba
SAMBA
Rafael Varela Pet Unidad de Sistemas Área de Tecnologías de la Información y Comunicaciones Universidad de Santiago de Compostela
Curso avanzado de GNU/Linux
SAMBA
●
Paquete Open Source que permite a los sistemas UNIX comunicarse mediante SMB/CIFS
– –
SMB = Server Message Block CIFS = Common Internet FileSystem
● ●
Compartición de archivos eimpresoras Funcionamiento como cliente y/o servidor
Curso avanzado de GNU/Linux
SAMBA. Nomenclatura
●
NetBEUI: Protocolo de transporte. Actúa al mismo nivel que TCP/IP. No empleado por SAMBA NetBIOS: API para operaciones en red NBT: NetBIOS sobre TCP/IP SMB/CIFS funciona sobre NetBIOS en sistemas Windows SAMBA es una implementación de NBT y SMB/CIFS
Curso avanzado de GNU/Linux
● ● ●●
Servicios
●
Servicios presentes en NBT:
– – –
Servicio de nombres: permite que los equipos se puedan localizar por sus nombres Servicio de datagramas: intercambio de datos en modo desconexión (se usan paquetes UDP) Servicio de sesión: intercambio de datos orientado a conexión (se usa TCP). Es el servicio usado para intercambio de ficheros
Curso avanzado de GNU/Linux
Demoniosy utilidades
●
Demonios
– –
smbd: hace prácticamente todo el trabajo ya que es el que maneja la compartición de archivos e impresoras nmbd: incorpora el servicio de nombres smbclient nmblookup: permite encontrar nombres NetBIOS en una red, buscar sus dir. IP (entre otras cosas) SWAT (Samba Web Administration Tool)
Curso avanzado de GNU/Linux
●
Utilidades
– – –
Puertos
●Puertos empleados en NBT:
– –
137/udp: servicio de nombres 138/udp: servicio de datagramas 139/tcp: modo clásico a través de NetBIOS 445/tcp: SMB/CIFS directamente por TCP/IP sin usar NetBIOS
●
Servicio de sesión:
– –
Curso avanzado de GNU/Linux
Instalación en Debian
●
Paquetes
– – –
samba: servidores smbclient: herramientas cliente samba-common: componentes comunes a laparte de servidor y la de cliente
Curso avanzado de GNU/Linux
Resolución de nombres
● ●
Broadcast en la red local WINS: Windows Internet Name Service. Servicio semejante al DNS Fichero lmhosts: equivalente al fichero hosts de UNIX DNS: Método preferido en Windows 2000 en adelante
●
●
Curso avanzado de GNU/Linux
Problemática en compartición de archivos
●Mayúsculas/minúsculas
– – –
UNIX es sensible a mayúsculas Windows “retiene” las mayúsculas DOS solo trabaja en mayúsculas
● ● ● ●
Juego de caracteres Longitud máxima de los nombres de fichero Propietario de los ficheros Permisos de acceso /ACLs
Curso avanzado de GNU/Linux
Problemas en la autentificación
●
Los sistemas Windows antiguos enviaban las claves en claro => podemos calcular el hash ycomparar con lo que tenemos en /etc/shadow Actualmente las claves se envían cifradas con un sistema incompatible con el de UNIX. Las soluciones:
– –
●
●
mantener una base de datos separada delegar la autentificación a otra máquina
Curso avanzado de GNU/Linux
Bases de datos de usuarios
●
Parámetro passdb backend
– – – –
tdbsam: Trivial Database (TDB) ldapsam nisplussam mysql● ●
Por defecto, en Debian se utiliza tdbsam Ejemplos:
passdb backend = tdbsam:/etc/samba/passdb.tdbpassdb passdb backend=ldapsam:ldap://localhost
Curso avanzado de GNU/Linux
tdbsam
●
Bases de datos en /var/lib/samba. Ejemplos: secrets.tdb, passdb.tdb tdbbackup permite
–
●
hacer copias de seguridad > tdbbackup *.tdb verificar la integridad de la base de datos >tdbbackup v *.tdb
–
●
Si instalamos el paquete tdb-tools podemos emplear tdbtool y tdbdump
Curso avanzado de GNU/Linux
SAMBA. Fichero smbpasswd
● ●
passdb backend = smbpasswd guest En /etc/samba/smbpasswd
– –
Formato: Flags:
username:uid:HASH LANMAN:HASH NT:Flags:Fecha de modificación U: Usuario normal N: Usuario sin clave D: Cuenta desactivada W: Cuenta de estación de trabajo
–...
Regístrate para leer el documento completo.