PDF de programación - Curso avanzado de Linux SAMBA

<<>>
Imágen de pdf Curso avanzado de Linux SAMBA

Curso avanzado de Linux SAMBAgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Febrero del 2018)
967 visualizaciones desde el 9 de Febrero del 2018
166,0 KB
35 paginas
Curso avanzado de Linux

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 e impresoras
● 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

Demonios y 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

● Utilidades
– 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

Puertos

● Puertos empleados en NBT:
– 137/udp: servicio de nombres
– 138/udp: servicio de datagramas

● Servicio de sesión:

– 139/tcp: modo clásico a través de NetBIOS
– 445/tcp: SMB/CIFS directamente por TCP/IP sin usar

NetBIOS

Curso avanzado de GNU/Linux

Instalación en Debian

● Paquetes

– samba: servidores
– smbclient: herramientas cliente
– samba-common: componentes comunes a la parte 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 y
comparar 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:

username:uid:HASH LANMAN:HASH NT:Flags:Fecha de modificación

– Flags:

U: Usuario normal
N: Usuario sin clave
D: Cuenta desactivada
W: Cuenta de estación de trabajo

– Ejemplo: [U ]

Curso avanzado de GNU/Linux

Gestión usuarios

● Añadir un usuario

> smbpasswd ­a nombre_usuario

● Cambiar la contraseña a un usuario
> smbpasswd nombre_usuario
● Habilitar/Deshabilitar un usuario

> smbpasswd ­e nombre_usuario
> smbpasswd ­d nombre_usuario

● Borrar un usuario

> smbpasswd ­x nombre_usuario

Curso avanzado de GNU/Linux

SAMBA. Configuración

● En /etc/samba/smb.conf
● Tres bloques:

– Global
– Compartición de ficheros
– Compartición de impresoras

● Secciones especiales:

[global] [homes] [printers]

● Podemos comprobar nuestra configuración con el

comando testparm.

Curso avanzado de GNU/Linux

SAMBA. Configuración

● Identificación de nuestra máquina

workgroup = 
netbios name = 
netbios aliases =

● Alias: Podemos usar ficheros específicos para

cada alias:

include = %L.conf

● Elección del master browser.

os level =
local master = 
preferred master =

Curso avanzado de GNU/Linux

Autentificación

● Encriptación passwords

encrypt passwords = yes

● Métodos de autentificación (parámetro security)
– share: no hay usuarios. Se asignan contraseñas a los

recursos

– user: se necesita un usuario UNIX en el servidor
– server: se le reenvía la petición de autentificación a otra

máquina.

– domain: el servidor SAMBA pertenece a un dominio
– ads: el servidor pertenece a un dominio de Directorio

Activo

Curso avanzado de GNU/Linux

Autentificación “server”

● Delega la autenticación en un servidor

determinado
● En smb.conf

security=server
encrypt passwords = yes
password server =”nombre_servidor”

● Se requiere una cuenta UNIX local (puede estar

bloqueada)

Curso avanzado de GNU/Linux

Autentificación “domain”

● En smb.conf

security=domain
encrypt passwords = yes
workgroup = “nombre_grupo”
password server = *

● La máquina tiene que estar registrada en el

dominio:

> net rpc join ­U administrador
● Tienen que existir cuentas UNIX locales

Curso avanzado de GNU/Linux

Gestión de cuentas

● Automatizar creación de cuentas UNIX:

– Usar parámetro add user script:

● Crea cuentas cuando un usuario se autentifica
correctamente
● Las bajas son manuales
● Ejemplo
add user script = /usr/sbin/useradd %u

– Winbind: altas y bajas dinámicas. El equipo es

un miembro completo del dominio

Curso avanzado de GNU/Linux

SAMBA. Winbind

● Winbind permite:

– Verificar las credenciales de un usuario (vía PAM).
– Resolución de la identidad (vía NSS).
– Winbind mantiene una base de datos independiente

(winbind_idmap.tdb) en la que se almacena la
asociación entre UIDs / GIDs UNIX y los SIDs de NT.

● Requisitos previos:

– Nuestro servidor debe estar unido al dominio
– Instalamos paquete winbind

Curso avanzado de GNU/Linux

Winbind. Configuración

● Editar smb.conf:

security = domain

winbind use default domain = yes
winbind separator = +
winbind cache time = 300

idmap uid = 10000­20000
idmap gid = 10000­20000

template shell = /bin/bash
template homedir = /home/%D/%U

winbind enum groups = yes
winbind enum users = yes

Curso avanzado de GNU/Linux

Winbind. Configuración
● En caso de tener muchos usuarios, puede

considerarse:

winbind enum groups = no
winbind enum users = no

– Pero puede provocar problemas a ciertas aplicaciones
● Ajustar el parámetro “valid users” en la sección

[homes]

valid users = %S

Curso avanzado de GNU/Linux

Winbind. Configuración

● Parámetro “winbind separator”:

– Define el carácter empleado cuando se muestra un

usuario en la forma DOMINIO\usuario.

– Sólo se aplica cuando usamos los módulos

pam_winbind.so y nss_winbind.so para los servicios
UNIX

– Algunos caracteres problemáticos

● + : También se emplea con NIS en /etc/group
● \

: Carácter de escape en el shell

Curso avanzado de GNU/Linux

Winbind. Configuración

● Con Windows Server 2003

– Editar sección [global] de smb.conf

client schannel = no

– Asignar usuario para establecer sesión con un

controlador de dominio. Ejecutar:

> wbinfo –set­auth­user=usuario%clave

● Alternativa. Emplear Kerberos.

– En smb.conf:

security=ads

Curso avanzado de GNU/Linux

Winbind. Pruebas

● Unirnos al dominio e iniciar winbind
● Probar configuración:

● > wbinfo ­p (hace 'ping')
● > wbinfo ­t 

(comprueba la cuenta de la máquina en el dominio)

● > wbinfo ­g (lista grupos)
● > wbinfo ­u (lista usuarios)

● El resolver UNIX tiene que encontrar la

información en DNS del Servidor de Dominio.
– Ajustar contenido de /etc/resolv.conf

Curso avanzado de GNU/Linux

Winbind. NSS.

● NSS (Name Service Switch): sistema modular
para acceder a las bases de datos usadas por la
librería C.

● Configurar NSS

– Editar /etc/nsswitch.conf

passwd: files winbind
group: files winbind

● Probar NSS:

> getent group
> getent passwd

Curso avanzado de GNU/Linux

Winbind. PAM

● Podemos autenticar otros servicios vía PAM
● Editar el fichero /etc/pam.d correspondiente al servicio

que queremos modificar

● Ejemplo: OpenSSH, editar /etc/pam.d/ssh:

auth sufficient pam_winbind.so
@include common­auth
...
account    sufficient   pam_winbind.so
@include common­account
...

● Conectar al servidor SSH:

> ssh DOMINIO+usuario@servidor_ssh

Curso avanzado de GNU/Linux

Winbind y Kerberos

● El método anterior es compatible con dominios

pre-windows 2000

● Con Directorio Activo podemos emplear

Kerberos

● En smb.conf:

realm = CURSOLINUX.LOCAL
security = ADS
encrypt paswords = yes
password server = servidor_kerberos

(esto último, sólo si no es capaz de localizarlo)

Curso avanzado de GNU/Linux

Winbind. Kerberos

● Instalar krb5-user, krb5-clients y krb5-config
● /etc/krb5.conf

[libdefaults]

default_realm = CURSOLINUX.LOCAL

[realms]

CURSOLINUX.LOCAL = {

        
        

kdc = 192.168.253.21
admin_server = 192.168.253.21

}

[domain_realm]

.cursolinux.local = CURSOLINUX.LOCAL
cursolinux.local = CURSOLINUX.LOCAL

Curso avanzado de GNU/Linux

Winbind. Kerberos

● Sincronizar reloj del equipo Debian

> net time set

● Probar kerberos:

> kinit [email protected]
> klist

● Unirse al dominio y almacenar la cuenta del

equipo en la unidad organizativa “comput
  • Links de descarga
http://lwp-l.com/pdf8691

Comentarios de: Curso avanzado de Linux SAMBA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad