# ThinkFinger (Español)

This article or section is out of date.

Reason: Este artículo está desactualizado. (Discuss in Talk:ThinkFinger (Español)#)

ThinkFinger es un controlador para el lector de huellas digitales SGS de la empresa Thomson Microelectronics que se monta en la mayoría de portátiles IBM/Lenovo ThinkPad.

Warning: Las revisiones de ThinkFinger-svn por encima de la 72 requieren que cargue el nódulo uinput!

## Instalación

Consiga el paquete desde aquí.

## Configuración

### TF-Tool

Utilice tf-tool para probar ThinkFinger. Tendrá que ejecutar esto como root debido a que se necesita acceso directo a los dispositivos usb. Ejecute tf-tool --acquire para generar un archivo bir y tf-tool --verify para ver si le identifica correctamente. tf-tool --add-user <nombreusuario> adquiere y alamacena su huella digital en /etc/pam_thinkfinger/nombreusuario.bir, archivo necesario para una identificación con pam.

## Pam

PAM ("Pluggable Authentication Module") es el módulo insertable de autentificación, inventado por Sun.

### /etc/pam.d/login

Cambie el archivo /etc/pam.d/other para que se parezca a lo siguiente si quiere utilizar su huella digital para autentificarse a si mismo al ingresar al sistema:

    #%PAM-1.0
    auth           sufficient      pam_thinkfinger.so
    auth           required        pam_unix.so use_first_pass nullok_secure
    account        required        pam_unix.so
    password       required        pam_unix.so
    session        required        pam_unix.so

### /etc/pam.d/su

Cambie este archivo para confirmar la orden su con un suave movimiento circular con el dedo.

    #%PAM-1.0
    auth           sufficient      pam_rootok.so
    auth           sufficient      pam_thinkfinger.so
    auth           required        pam_unix.so nullok_secure try_first_pass
    account        required        pam_unix.so
    session        required        pam_unix.so

Tip: No se olvide de Don't forget to do a tf-tool --add-user root para usar esta característica!

### /etc/pam.d/sudo

Cambie este archivo para confirmar la orden sudo con un suave movimiento circular de su dedo.

    #%PAM-1.0
    auth           sufficient      pam_thinkfinger.so
    auth           required        pam_unix.so nullok_secure try_first_pass
    auth           required        pam_nologin.so

### /etc/pam.d/xscreensaver

XScreensaver tiene truco. Primero, configure PAM con un archivo "/etc/pam.d/xscreensaver" que contenga:

    auth           sufficient      pam_thinkfinger.so
    auth           required        pam_unix_auth.so try_first_pass

Pero aún así no funcionará porque xscreensaver no puede leer/escribir desde /dev/misc/uinput o /dev/bus/usb*. Se tiene que escribir una regla udev para autorizarle a un grupo el acceso de lectura/escritura.

Primero, cree un grupo nuevo. Le sugiero "fingerprint":

    > sudo groupadd fingerprint

Añada el usuario que quiera que sea capaz de desbloquear xscreensaver con el lector de huellas digitales al grupo:

    > sudo gpasswd -a <user> fingerprint

No olvide salir e ingresar de nuevo.

Haga una búsqueda de los términos "uinput" y "bus/usb" en directorio de reglas udev:

    > grep -in uinput /etc/udev/rules.d/*
    /etc/udev/rules.d/udev.rules:222:KERNEL=="uinput",  NAME="misc/%k", SYMLINK+="%k"
    /etc/udev/rules.d/udev.rules:263:KERNEL=="uinput", NAME="input/%k"
    > grep -in "bus/usb" /etc/udev/rules.d/*
    /etc/udev/rules.d/udev.rules:318:SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev};printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0664"
    /etc/udev/rules.d/udev.rules:320:SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"

Ahora copie las ĺineas anteriores (222, 318 y 320 del archivo /etc/udev/rules.d/udev.rules) a un nuevo archivo de reglas udev. Le sugiero /etc/udev/rules.d/99my.rules

    KERNEL=="uinput",  NAME="misc/%k", SYMLINK+="%k", MODE="0660", GROUP="fingerprint"
    SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev};printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0664", GROUP="fingerprint"
    SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664", GROUP="fingerprint"

La diferencia entre las reglas de /etc/udev/rules.d/99my.rules y aquellas de /etc/udev/rules.d/udev.rules sólo deberían ser el añadido de MODE="0664", GROUP="fingerprint" o MODE="0660", GROUP="fingerprint" al final de las líneas.

Después de esto tendrá realmente que dar a su usuario permisos de acceso a su propio archivo de huella digital, esto se puede hacer de la manera siguiente:

    > chown $USERNAME:root /etc/pam_thinkfinger/$USERNAME.bir
    > chmod 400 /etc/pam_thinkfinger/$USERNAME.bir
    > chmod o+x /etc/pam_thinkfinger

Sí, la última establece permisos de ejecución para todo el mundo en un directotio, así que si es usted un super paranoico, podría considerar esto como un fallo de seguridad, queda avisado.

Lo último tiene que ver con xscreensaver. Si inspecciona el archivo xscreensaver verá que tiene el permiso setuid para root:

    > ls -l /usr/bin/xscreensaver
    -rwsr-sr-x 1 root root 217K aoû  2 20:47 /usr/bin/xscreensaver

Debido a esto, xscreensaver no será capaz de desbloquearse con el lector de huella digital. Tiene que quitar ese permiso con:

    > sudo chmod -s /usr/bin/xscreensaver
    > ls -l /usr/bin/xscreensaver
    -rwxr-xr-x 1 root root 217K aoû  2 20:47 /usr/bin/xscreensaver

¡Ya está!

### /etc/pam.d/gdm

[No soy un experto en PAM pero esto funciona, puede que esta sección necesite correcciones]

Edite /etc/pam.d/gdm como se hace en las secciones 3.1 y 3.2

Añada como primera fila del archivo:

    auth           sufficient      pam_thinkfinger.so

Modifique:

    auth           required        pam_unix.so ==> auth   		required	pam_unix.so use_first_pass nullok_secure

### /etc/pam.d/xdm

Cambie /etc/pam.d/xdm para que se parezca a esto:

    #%PAM-1.0
    auth            sufficient      pam_thinkfinger.so
    auth            required        pam_unix.so use_first_pass nullok_secure
    auth            required        pam_nologin.so
    auth            required        pam_env.so
    account         required        pam_unix.so
    password        required        pam_unix.so
    session         required        pam_unix.so
    session         required        pam_limits.so

## SLiM

Para que thinkfinger pueda trabajar con el gestor de ingreso SLiM tendrá que activar la capacidad PAM. Consiga el código fuente del paquete slim desde el ABS y cambie la línea de "make" en el PKGBUILD:

    make USE_PAM=1 || return 1

Reconstruya el paquete e instálelo.

Cree entonces un archivo /etc/pam.d/slim

    #%PAM-1.0
    auth            sufficient      pam_thinkfinger.so
    auth            requisite       pam_nologin.so
    auth            required        pam_env.so
    auth            required        pam_unix.so
    account         required        pam_unix.so
    session         required        pam_limits.so
    session         required        pam_unix.so
    password        required        pam_unix.so

Ahora reinicie slim y haga un suave movimiento circular con su dedo.

## Más información

Vea por favor estas urls para más información.

http://www.thinkwiki.org/wiki/Talk:How_to_enable_the_fingerprint_reader

http://thinkfinger.sourceforge.net/

https://bbs.archlinux.org/viewtopic.php?id=36134

http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger

http://www.thinkwiki.org/index.php?title=Installing_Ubuntu_6.06_on_a_ThinkPad_T43#Fingerprint_Reader

Categories:

- Input devices (Español)
- Lenovo (Español)

Hidden category:

- Pages or sections flagged with Template:Out of date