libpam-ccreds: "Jugando" a cachear credenciales de usuario en Debian | Algo de Linux

lunes, 30 de enero de 2012

libpam-ccreds: "Jugando" a cachear credenciales de usuario en Debian

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

El cacheo de credenciales es muy útil 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.

El paquete libpam-ccreds nos proporciona un mecanismo para cachear las credenciales de usuario y lograr que el proceso de autenticación del usuario pueda realizarse incluso cuando el servicio de red no se encuentre disponible, mediante el módulo pam_ccreds.so

Además, pone a nuestra disposición un par de herramientas muy útiles para usar en un terminal: cc_test y cc_dump.

cc_dump: Realiza un volcado de las credenciales cacheadas. Según la información del paquete, es posible que la utilidad cc_dump sea eliminada en un futuro.

Ejemplo:
administrador:/home/enavas# cc_dump 

Credential Type  User             Service  Cached Credentials  

----------------------------------------------------------------------------------

Salted SHA1      enavas           any     a591ba057c876154b4df42404393bffa2606a5cc

Salted SHA1      root             any     82559ecb4c47b4bc197d547d6b90e795ae36756b

Salted SHA1      general          any     817db704788884abdf837c6458f8ca5e3942a1c3


cc_test: Esta herramienta es muy interesante porque nos va a permitir "jugar" con las credenciales de usuario.

Personalmente, he utilizado cc_test en scripts para cachear credenciales de usuario introducidas por pantalla.

Esta es la sintaxis de cc_test:

cc_test [ -validate | -store | -update ] [service] [user] [password] [ccredsfile]


Veamos ahora qué podemos hacer con cc_test:

1) Comprobar si las credenciales de un usuario son válidas:
 # cc_test -validate any usuario password

Ejemplo:
# cc_test -validate any enavas mipassword

2) Borrar las credenciales cacheadas de un usuario:
 # cc_test -update any usuario -

Ejemplo:
# cc_test -update any enavas -

3) Cachear las credenciales de un usuario:
 # cc_test -store any usuario password


Ejemplo:
# cc_test -update any cfernandezx01 16011996