ThinkFinger (Español)
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.
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
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
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