ThinkFinger (Español) - ArchWiki

Jump to content
Esta traducción de ThinkFinger fue revisada el 2020-11-23. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Artículos relacionados

- Fingerprint-gui
- Fprint

ThinkFinger es un controlador para el lector de huellas digitales SGS Thomson Microelectronics encontrado en IBM/Lenovo ThinkPads antiguas.

ThinkWiki tiene una lista de varios lectores de huellas encontrados en ThinkPads. Modelos nuevos que usen diferentes lectores pueden no funcionar con ThinkFinger.

Advertencia: Las revisiones de ThinkFinger-svn por encima de la 72 requieren que se cargue el módulo `uinput`.

## Instalación

Instale el paquete thinkfingerAUR.

## 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 en `//etc/pam_thinkfinger/test.bir` y use `tf-tool --verify` para ver si le identifica correctamente. `tf-tool --add-user <nombreusuario>` adquiere y almacena su huella digital en `/etc/pam_thinkfinger/<nombreusuario>.bir`, la cual es necesaria para una identificación con pam.

## Pam

PAM es el módulo insertable de autentificación, inventado por Sun.

### /etc/pam.d/login

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

    /etc/pam.d/login

    #%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 una pasada de dedo:

    /etc/pam.d/su

    #%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

Sugerencia: No se olvide de ejecutar `tf-tool --add-user root` para usar esta característica

### /etc/pam.d/sudo

Cambie este archivo para confirmar la orden `sudo` con una pasada de dedo:

    /etc/pam.d/su

    #%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 es un poco complejo. Primero, configure PAM con un archivo `/etc/pam.d/xscreensaver` que contenga:

    /etc/pam.d/xscreensaver

     auth            sufficient      pam_thinkfinger.so
     auth            required        pam_unix_auth.so try_first_pass

Esto no funciona aún porque Xscreensaver no puede leer/escribir desde `/dev/misc/uinput` y `/dev/bus/usb*`. Una regla udev debe ser escrita para autorizar a un nuevo grupo acceso de lectura/escritura.

Primero, cree un nuevo grupo, digamos huella:

    # groupadd huella

Añada al usuario que quiera que pueda desbloquear Xscreensaver con el lector de huellas al grupo:

    # gpasswd -a <user> huella

Cierre e inicie sesión otra vez para que los cambios tengan efecto.

Después, busque uinput y bus/usb en su 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"

Copie las lineas que encontró con grep en el paso previo a un nuevo archivo de reglas udev:

    /etc/udev/rules.d/99fingerprint.rules

    KERNEL=="uinput",  NAME="misc/%k", SYMLINK+="%k", MODE="0660", GROUP="huella"
    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="huella"
    SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664", GROUP="huella"

La diferencia entre las reglas en `/etc/udev/rules.d/99fingreprint.rules` y en las de `/etc/udev/rules.d/udev.rules` solo debe ser la adición de `MODE="0664", GROUP="huella"` o `MODE="0660", GROUP="huella"` al final de las lineas.

Después de añadir las reglas personalizadas de udev, debe darle a su usuario permisos para acceder su propio archivo de huella:

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

Nota: El ultimo comando esta abriendo un directorio para ejecución a todos, tome en cuenta las implicaciones de seguridad que esto podria tener.

Como ultimo paso, tiene que remover el root setuid de `/usr/bin/xscreensaver`, o si no, Xscreensaver no será capaz de desbloquear con el lector de huellas:

    # chmod -s /usr/bin/xscreensaver

### /etc/pam.d/gdm

Edite `/etc/pam.d/gdm` la linea siguiente al principio:

    /etc/pam.d/gdm

    auth		sufficient 	pam_thinkfinger.so

Y modifique `auth required pam_unix.so` para que se parezca a esto:

    /etc/pam.d/gdm

    auth		required	pam_unix.so use_first_pass nullok_secure

### /etc/pam.d/xdm

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

    /etc/pam.d/xdm

    #%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 de slim desde ABS, y edite el PKGBUILD) para que el comando `make` construya SLiM con soporte PAM:

    SLiM PKGBUILD

    make USE_PAM=1

Reconstruya el paquete e instalelo.

Y cree `/etc/pam.d/slim`:

    /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 podrá ocupar el lector de huellas para iniciar sesión.

## Software alternativo para lector de huellas

Fprint es un software alternativo de lector de huellas que funciona con algunos de los lectores ThinkPad nuevos.

## Más información

- https://www.thinkwiki.org/wiki/Talk:How_to_enable_the_fingerprint_reader
- http://thinkfinger.sourceforge.net/
- https://bbs.archlinux.org/viewtopic.php?id=36134
- https://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger
- https://www.thinkwiki.org/index.php?title=Installing_Ubuntu_6.06_on_a_ThinkPad_T43#Fingerprint_Reader

Categories:

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