viernes, enero 11, 2008

Fingerprint con Ubuntu en Lenovo T60

Tengo un Thinkpad Lenovo T60, y le instalé Ubuntu apenas me lo pasaron (window$ pasó a mejor vida así de rápido), pero no hay software para hacer funcionar el fingerprint, busqué por la página de Lenovo y nada, todo lo que hay es para que funcione con el SO del tio Bill.....hasta que San google me iluminó y gracias a algunos hackers y después de un pequeño trabajo, mi reconocedor de huellas FUNCIONA !!!! (perdón por el grito). Les interesa saber como...bueno acá vamos...... Básicamente necesitamos el paquete Bioapi para PAM para bajar el paquete vayan acá instalen luego debemos bajar el driver para que nuestro dispositivo sea reconocido, generalmente el chip es de la empresa UPEK, por lo que deben bajar este driver , extraigan e instalen...como...bueno vamos allá....:

cd /path/al/directorio/donde/quedó/el/driver/
sudo su -
sh install.sh /usr/lib

Luego asignamos los permisos necesarios para que las aplicaciones y el usuario pueda utilizar el driver..
ojo que donde
dice usuario , deberá ir el username con el que te loguearás:
addgroup --system bioapi
ddgroup --system usbfs
adduser usuario  bioapi
adduser usuario usbfs
chown -R root:bioapi /usr/var/bioapi/
chmod -R 770 /usr/var/bioapi/
chown -R root:usbfs /proc/bus/usb
chmod -R g+X /proc/bus/usb
Ahora debemos setear el usb file system para que pueda ser usado por los usuarios, para hacerlos,
hagan los siguiente,
primero debemos saber el Id del grupo de usbfs, para saber el ID:
cat /etc/group | grep usbfs | cut -d':' -f 3

editen fstab y agreguen la siguiente línea, deben reemplazar ID , por el valor que les devolvió
el comando anterior
sudo nano fstab
none /proc/bus/usb usbfs defaults,devgid=ID,devmode=0660,busgid=ID,busmode=0770,
listgid=ID
,listmode=0660 0 0

Ahora debemos cambiar los permisos en UDEV:

sudo nano /etc/udev/rules.d/40-permissions.rules


buscamos la línea:


SUBSYSTEM=="usb_device", MODE="0664"

la cambiamos por esta:

SUSYSTEM=="usb_device", MODE="0660", GROUP="usbfs"

Necesitamos ahora bajar la utilidad llamada sample para enrolar nuestro detector de huellas con el sistema
extraigan el archivo e instalenlo:

cd /path/al/directorio/donde/quedó/el/archivo/
cd NonGUI_sample
chmod a+x sample
./Sample
Para enrrolar un nuevo usuario presionen (c) e ingresen el nombre de usuario con
el que se quieren conectar,
luegopresionene(v) para que puedan ingresar sus
huellas, aparecerá la iimagen para que pueden escanear la huella digital,
deberán
hacerlo 3 veces, una vez que la reconozca solo presionen (q) para salir de la
aplicación.

Les creará un archivo .bir con el nombre de usuario ingresado, por lo que deberań
moverlo a su /home:


mv usuario.bir /home/usuario/

Ahora necesitamos instalar el plugin Bioapi para PAM, extraigan y debemos compilar..
no se preocupen ...acá va como:

sudo apt-get install libpam0g-dev build-essential
cd /path/al/directorio/donde/extrajeron/el/archivo/
./configure --libdir=/lib --enable-file-store && make
sudo make install

Si no tira mensajes de error, el plugin quedó instalado, ahora en un terminal digiten o
copien los siguientes comandos:


cd ~
sudo bash
SERIAL=`BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\
(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"`

mkdir -p /etc/bioapi/pam/$SERIAL
cp usuario.bir /etc/bioapi/pam/$SERIAL/
exit

Ahora debemos activar nuestro detector de huellas, por lo que en el mismo terminal
hagan esto:


sudo nano /etc/pam.d/common-auth

(yo uso nano...si quieren vi..o gedit....o pico....o el editor del gusto que sea dará lo
mismo)


En el archivo que editaron comenten las líneas con un # (para restaurarlo si algo
va mal) y peguen lo siguiente:


#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350}
/etc/bioapi/pam/

password sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350}
/etc/bioapi/pam/

auth required pam_unix.so nullok_secure

graben y salgan del archivo, finalmente debemos modificar a sudo ya que es parte
de nuestra nueva configuración:


sudo nano /etc/pam.d/sudo

Al igual que el archivo anterior comente las líneas con un # y peguen esto:

#%PAM-1.0
#@include common-auth
auth required pam_unix.so nullok_secure
@include common-account

Ahora a probar, cuando estén en la ventana de logueo, ingresaran vuestro username
y les aparecerá la ventana
para que deslicen el dedo, reconocerá la huella e
ingresará a la sesión del usuario indicado.


Salu2

Daemon

5 comentarios:

Anónimo dijo...

Excelente articulo, esta como para hacerlo mini-howto y publicarlo en el portal Unix Atacama, saludos.

Anónimo dijo...

puedo aplicarlo a un lenovo R61?

Anónimo dijo...

Excelente tutorial, mil gracias. Despues lo pruebo en mi HP porq tenia ganas de hacer andar el fingerprint. No porq lo necesite demasiado sino de capricho de tenerlo y no poder usarlo jajaja.

Saludos,
Jonatan

Daemon dijo...

*anonimo

No conozco el Lenovo R61, pero si trae el chip del tutorial no debiera haber problemas.

Salu2

Anónimo dijo...

Alguien podria enviarme el ftp://delta.upek.com/TFMESS_BSP_LIN_1.0beta2.zip/, pues ya no hay acceso a ese archivo, por favor, a voryzt@gmail.com.

Muchas Gracias