Jump to content

# ThinkFinger (Español)

From ArchWiki
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
- https://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)

ThinkFinger (Español)
Add topic