javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.

jueves, 12 de agosto de 2010

Configuración de Vaio VGN-SZ204f en Ubuntu 10.04 con fingerprint-gui

Esta laptop cuenta con un Fringerprint reader, lo cual nos permite autenticarnos a nuestro sistema mediante la huella digital de nuestros dedos. La verdad es que nunca la había usado ni siquiera en Windows, pero ahora me entro la curiosidad y dado que me gusto el hecho de autenticarme a través de esta forma, pues me di a la tarea de cómo podría hacerlo en Ubuntu, y aquí pongo los pasos que seguí.

Aquí están las especificaciones de esta laptop y como menciono en el título del post, está configuración se hizo en un Ubuntu 10.04.

Lo primero que haremos será bajar fingerprint-gui, en mi caso bajé el archivo fingerprint-gui-0.14-i386.tar.gz de la sección Downloads.

Una vez descargado el archivo copie el archivo al directorio /usr/src

javoaxian@vaioubuntu:~$ sudo cp Downloads/fingerprint-gui-0.14-i386.tar.gz /usr/src/

Nos moveremos al directorio donde lo copiamos.

javoaxian@vaioubuntu:~$ cd /usr/src/

Antes de seguir, instalaremos las bibliotecas que necesitaremos:

javoaxian@vaioubuntu:$ sudo apt-get install libfakekey0 libqca2 libqca2-plugin-ossl libqtgui4 libqt4-xml

Ahora instalaremos libfprint0 el cual no se encuentra en los repositorios.

javoaxian@vaioubuntu:$ sudo add-apt-repository ppa:fingerprint/fprint
javoaxian@vaioubuntu:$ sudo apt-get update
javoaxian@vaioubuntu:$ sudo apt-get install libfprint0 fprint-demo
javoaxian@vaioubuntu:$ sudo apt-get install libpam-fprintd

Terminada la instalación de estas bibliotecas tendremos que editar el archivo /etc/modules y agregar la línea uinput si es que no se existe. En mi caso el archivo queda de la siguiente manera:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
uinput

Deberemos reiniciar nuestro equipo después de haber hecho el cambio en este archivo.

Una vez que reiniciamos descomprimiremos el archivo:

javoaxian@vaioubuntu:$ sudo tar -xzvf fingerprint-gui-0.14-i386.tar.gz

Ahora nos movemos al directorio creado:

javoaxian@vaioubuntu:$ cd fingerprint-gui-0.14

y ejecutaremos el comando de instalación:

javoaxian@vaioubuntu:$ sudo ./install.sh

En mi caso el dispositivo es un SGS Thomson Microelectronics Fingerprint Reader, la salida del comando lsusb y que muestra mi dispositivo es:

javoaxian@vaioubuntu:~$ lsusb
Bus 005 Device 002: ID 044e:300c Alps Electric Co., Ltd Bluetooth Controller (ALPS/UGPZ6)
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 05ca:1830 Ricoh Co., Ltd Visual Communication Camera VGP-VCC2 [R5U870]
Bus 001 Device 002: ID 0a05:0001
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Para los dispositivos como el mio, el comando install.sh preguntará si deseamos instalar el driver, dado que no es opensource.

javoaxian@vaioubuntu:$ sudo ./install.sh find: «/usr/lib64»: No existe el fichero ó directorio

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The following device was found on your system:
Bus 004 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader.
A specific proprietary (non opensource) driver "libbsapi.so"
from UPEK Inc. (http://www.upek.com/) is available for this device.
To take full advantage of this device, the installation of this driver
is required. Do you want the install script to copy this driver to
"/usr/lib"? (Yes/no):

A lo cual presionaremos enter para que lo instale.

Finalizado ésto, nos mostrará la siguiente salida:

Driver "libbsapi.so" was copied to "/usr/lib".

Fingerprint binaries have been installed.

Ahora podremos ejegutar el comando fingerprint-gui para verificar y relacionar nuestra cuenta con nuestros dedos.

javoaxian@vaioubuntu:~$ fingerprint-gui

Esto abrirá la siguiente pantalla:

Presionamos el botón Next y se mostrará la siguiente pantalla en la cual debemos seleccionar el dedo que deseamos usar para comprobar nuestra identidad. En este caso elegí el índice de la mano derecha. Una vez elegido el dedo presionamos Next.

Se nos pedirá que deslicemos cinco veces el dedo por el lector de huellas digitales.

Al finalizar, nos preguntará si deseamos registrar más dedos. Podemos registrar los dedos de las dos manos si queremos. Una vez que terminemos de registrar nuestros dedos, presionaremos el botón No.

Ahora podemos cerrar la aplicación.

Este mismo proceso deberemos ejecutar para el usuario root. Deberemos asegurarnos que ya le asignamos una contraseña al usuario root. Si no es así, ejecuten el siguiente comando y asignenle la contraseña:

javoaxian@vaioubuntu:~$ sudo passwd root
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente

Ahora podemos ejecutar el comando fingerprint-gui para el usuario root.

javoaxian@vaioubuntu:~$ sudo fingerprint-gui

Deberemos seguir los mismos pasos que con nuestra cuenta de usuario.

Como nota, cabe mencionar que es importante que nuestro usuario tenga privilegios para ejecutar el comando sudo,

Lo que ahora se hará, será configurar la autenticación.
Primero copiaremos el archivo /etc/pam.d/common-auth y le pondremos de nombre /etc/pam.d/common-auth.fingerprint
Recuerden realizar estos pasos como usuario root.

javoaxian@vaioubuntu:~$ sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.fingerprint

Una vez que copiamos el archivo, editaremos el archivo /etc/pam.d/common-auth.fingerprint en el cual insertaremos la siguiente línea al principio del archivo.

auth sufficient pam_fingerprint-gui.so debug

y buscaremos la siguiente línea:

auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass

La cuál deberemos dejar de la siguiente manera:

auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure

Hechos estos cambios, ahora podemos configurar algunos servicios para que nos pida nuestra autenticación con nuestra huella digital.

Comando "su".
Editar el archivo /etc/pam.d/su y cambiar la línea:

@include common-auth

por esta:
@include common-auth.fingerprint

Con esto si nosotros ejecutamos en una terminal el siguiente comando:

javoaxian@vaioubuntu:~$ su -

Nos pedirá la autenticación:

Configurar el login.
Este es se da cuando precionamos ctrl+alt+F(x) donde "x" podría ser F1, F2, F3, etc., deberemos editar el archivo /etc/pam.d/login y cambiar la línea:

@include common-auth

por esta:
@include common-auth.fingerprint

Prueben precionando por ejemplo ctrl+alt+F2 introduzcan su login y les deberá de pedirá la contraseña que puede ser leída por el lector de huellas digitales.

Comando "sudo".
Deberemos editar el archivo /etc/pam.d/sudo y cambiar la línea:

@include common-auth

por esta:
@include common-auth.fingerprint

Para "gdm".
Deberemos editar el archivo /etc/pam.d/gdm y cambiar la línea:

@include common-auth

por esta:
@include common-auth.fingerprint

Además, si encontramos en el archivo una línea igual a esta:

auth requisite pam_nologin.so

Deberemos comentarla agregando un # al principio de la línea.

Para "gnome-screensaver"
Deberemos editar el archivo /etc/pam.d/gnome-screensaver y cambiar la línea:

@include common-auth

por esta:
@include common-auth.fingerprint

Además Gnome-screensaver necesita de un plugin para mostrar el fingerprint GUI. Por lo que deberemos usar el gconf-editor. Regularmente este se encuentra en el menú Aplicaciones -> Herramientas del sistema -> Editar de configuración si no lo encuentran pueden darle en el botón derecho sobre Aplicaciones y luego en Editar los menús -> Herramientas del sistema y activar la casilla de mostrar del Editor de configuración.
Pero si lo desean más sencillo, en consola ejecuten el comando gconf-editor:

javoaxian@vaioubuntu:~$ gconf-editor

Ahora deberemos buscar apps -> gnome-screensaver

y deberemos activar la opción embedded_keyboard_enabled además de agregar en la opción embedded_keyboard_command la cadena /usr/local/bin/fingerprint-plugin -d así como se muestra en la siguiente imagen:

Hechos estos cambios ya pueden cerrar la ventana.

Con esto ya podremos manejar algunas de nuestras autenticaciones por medio de nuestro lector de huellas digitales y así ahorrarnos el teclear algunas contraseñas.

4 comentarios:

Mayllon Veras dijo...
Este comentario ha sido eliminado por el autor.
Infoguerrero dijo...

En la pantalla de fingerprint-gui no aparece seleccionado mi lector en el Fingerprint devices (aparece no devis found!,

pero si aparece en el devices (DigitalPersona,inc(0x138a)Unknown device(0x5)
que podra ser lo que esta faltando

Anónimo dijo...

Hola,
Funciona para dispositivos:
ID 138a:0001 DigitalPersona, Inc Fingeprint Reader

He leido que este dispositivo no esta soportado.

Saludos!!

Andrés dijo...

Lo probé en mi VGN-SZ750N y funcionó perfectamente. Gracias amigo!!!