lunes, 18 de febrero de 2008

Lector de huellas digitales Thinkfinger

Esta información está por ahí, sobretodo aquí pero pongo aquí algunas de las dificultades que he econtrado en la instalación en Debian. Mi portatil es el Toshiba U200.

Lo primero que deberemos hacer es bajarnos las fuentes de Sourceforge, tras ésto descomprimiremos las fuentes y entraremos en el directorio que nos haya creado, en mi caso ejecuté los siguientes comandos desde el directorio en el que bajé las fuentes:

#tar -zxvf thinkfinger-0.3
#cd thinkfinger-0.3

Antes de continuar deberemos estar seguros de tener el compilador instalado. Si no es así deberemos instalar gcc y g++.

apt-get install gcc g++ libpam0g-dev libusb-dev

Una vez tengamos esto, deberemos estar seguros de tener pkg-config instalado, sino podremos tener errores tales como "Checking for USB... configure: error: libusb missing", si necesitamos instalarlo bastará con:

#apt-get install pkg-config

Una vez tengamos todo ejecutamos el siguiente comando para configurar la instalación de Thinkfinger:

#./configure --prefix=/usr --sysconfdir=/etc \
--with-securedir=/lib/security --with-birdir=\
/etc/pam_thinkfinger
# make
# make install


Con esto ya tendremos nuestro lector de huellas dactilares funcionando.
Si hacemos

#tf-tool

y obtenemos el siguiente error:

tf-tool: error while loading shared libraries: libthinkfinger.so.0: cannot open shared object file: No such file or directory

bastará con ejecutar

#ldconfig

Podemos hacer una prueba escribiendo:

# tf-tool --acquire

Nos pedirá que pasemos el dedo por el lector 3 veces. Tras 3 lecturas correctas podremos hacer

#tf-tool --verify

Para pasar el dedo y comprobar que todo funciona correctamente.
Una vez hecho esto y para guardar las huellas para nuestros usuarios deberemos primero crear el siguiente directorio:

#mkdir /etc/pam_thinkfinger

Tras esto ya podremos ir almacenado las huellas de los usuarios autorizados de la siguiente forma:

#tf-tool --add-user usuario-del-que-queremos-guardar-huella

Solo nos falta un último paso para que podamos utilizar nuestro dedo en lugar de escribir la contraseña, debemos editar el archivo /etc/pam.d/common-auth y añadir la siguiente linea:

auth    sufficient      pam_thinkfinger.so
auth required pam_unix.so try_first_pass nullok_secure
Por último deberemos cargar el módulo uinput para que los login nos permitan usar el dedo.

#modprobe uinput

Para que se cargue siempre que inicie el equipo deberemos editar el archivo /etc/modules y añadir una linea que ponga:

uinput

A partir de ahora siempre que nos pida la contraseña podremos pasar nuestro dedo en lugar de escribirla.