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.

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