sssd-tools: "Jugando" a cachear credenciales en un sistema con SSSD | Algo de Linux

martes, 10 de julio de 2018

sssd-tools: "Jugando" a cachear credenciales en un sistema con SSSD

Las credenciales de un usuario son su nombre de usuario (username) y su contraseña (password).

El cacheo de credenciales es muy útil, sobre todo, para ordenadores portátiles en los que se realiza la autenticación de usuarios mediante un servidor LDAP. Si cacheamos las credenciales de un usuario, éste podrá acceder al portátil  cuando el servicio de ldap no se encuentre disponible, por ejemplo, cuando el portátil no se encuentre conectado a la red.

Antiguamente, utilizábamos libpam-ccreds para cachear credenciales de usuario en Debian. Ahora, con el cambio a Ubuntu Bionic Beaver, hemos pasado a usar SSSD (System Security Services Daemon) como sistema de autenticación, principalmente porque nos proporciona acceso a diferentes proveedores de identificación y autenticación. De este modo, podemos cambiar de proveedor de autenticación cuando nos interese.

Para cachear credenciales SSSD, lo primero que tenemos que hacer es instalar el paquete sssd-tools, que nos proporciona un amplio conjunto de herramientas, entre las que encontraremos sss_seed y sss_cache:
# apt-get update && apt-get -y install sssd-tools
sss_seed nos servirá para cachear credenciales de usuario.

Por ejemplo, si ejecutamos el siguiente comando:
# sss_seed  -n enavas -D LDAP -p /root/sss_passwd
Estaríamos cacheando las credenciales del usuario enavas, cuya password se encuentra almacenada en el archivo /root/sss_passwd en el dominio con nombre LDAP.

Para más información, ver el man:
# man sss_seed
Bien, pues ahora que ya sabemos cachear credenciales de usuario, vamos a ver cómo invalidarlas. Para ello, haremos uso del comando sss_cache.

El comando sss_cache invalida registros en la caché SSSD. Los registros invalidados son forzados a ser recargados desde el servidor tan pronto como el backend SSSD utilizado se encuentre disponible. Existen una opción para invalidar directamente toda la caché (-E,--everything):
# sss_cache -E
Y, además, existen opciones para invalidar objetos concretos: usuarios, grupos, netgroups, servicios, etc...

Por ejemplo, Supongamos que queremos invalidar el usuario cacheado enavas:
# sss_cache -u enavas
Ahora bien, supongamos que queremos invalidar todos los usuarios cacheados. Haríamos lo siguiente:
# sss_cache -U
De igual modo, podríamos invalidar grupos individuales (-g login) o todos los grupos (-G).

Combinando ambas opciones, es muy fácil invalidar usuarios y grupos cacheados localmente:
# sss_cache -U -G
Para más información, ver el man:
# man sss_cache
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: