ThinkFinger

ThinkFinger ist ein freier Treiber für den Fingerabdruck-Scanner SGS Thomson Microelectronics Fingerprint Reader. Ursprünglich konzipiert für IBM/Lenovo ThinkPads, funktioniert der Treiber auch mit Modellen anderer Marken wie Dell und Toshiba, die auf dieses Scanner-Modell zurückgreifen. ThinkFinger ermöglicht nicht nur bei der Anmeldung, die Passworteingabe zu ersetzen, sondern es kann bei jeder Passwort-Abfrage benutzt werden. Der Treiber ist noch nicht ausgereift und es können momentan noch verschiedene Probleme auftreten. Bitte vor der Installation die bekannten Probleme am Schluss dieses Artikels beachten.
Zudem ist zu beachten, dass der Treiber nur die Passworteingabe ersetzt und nicht, wie in anderen Betriebssystemen beispielsweise, den ganzen Anmelde-Vorgang. Weiterhin ist zu beachten, dass ein gut gewähltes Passwort genau so sicher (oder auch sicherer) ist als der Fingerabdruck, da es auch Möglichkeiten gibt, Fingerabdrücke zu fälschen. Der Fingerabdruckscanner ist daher eher ein Komfortmerkmal als eine extra Sicherheit. Dies kann man aber erreichen, in dem man Fingerabdruck und Passwort zur Authentifizierung verlangt, was aber auf Dauer relativ unkomfortabel sein kann.
Hardware prüfen
Vor der Installation sollte getestet werden, ob überhaupt das Modell SGS Thomson Microelectronics Fingerprint Reader eingebaut ist. Dazu gibt man Folgendes in ein Terminal ein und man sollte folgende Zeile erhalten.
tux@earth:~$ lsusb | grep SGS
Bus XXX Device XXX: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Installation
Nun müssen folgende Pakete installiert werden.
tux@earth:~$ sudo apt-get install libpam-thinkfinger thinkfinger-tools libthinkfinger-doc libthinkfinger0
Jetzt kann mit dem Befehl tf-tool die Datei thinkfinger.bir angelegt werden.
tux@earth:~$ sudo tf-tool --acquire
Mit folgenden Befehl kann der erstellte Fingeabdruck überprüft werden.
tux@earth:~$ sudo tf-tool --verify
Konfiguration
Um den FP-Reader auch beim gnome-desktop zum laufen zu bekommen, muss zuerst eine neue Benutzergruppe fingerprint angelegt werden.
tux@earth:~$ sudo groupadd -g 10001 fingerprint
Jetzt muss die neue Datei /etc/udev/rules.d/60-thinkfinger.rules mit folgendem Inhalt angelegt werden:
tux@earth:~$ sudo vi /etc/udev/rules.d/60-thinkfinger.rules
#
# udev rules file for the thinkfinger fingerprint scanner
#
# gives access to the fingerprint reader to those in the "fingerprint" group
#
# Taken from:
# http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger
# which was taken and modified from:
# http://article.gmane.org/gmane.linux.drivers.thinkfinger/329
## SGS Thomson Microelectronics Fingerprint Reader
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint"# the also-needed uinput device
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"Anschliessend muss folgender Befehl ausgeführt werden.
tux@earth:~$ sudo /sbin/udevadm trigger
Jetzt müssen noch die Benutzer- und Dateizugehörigkeiten angepasst werden.
tux@earth:~$ sudo gpasswd -a $LOGNAME fingerprint
Nun noch dem Benutzer auch zum Besitzer seiner .bir-Datei machen und die Datei Nur- lesen Zugriff geben.
tux@earth:~$ sudo chown $LOGNAME:root ~/.thinkfinger.bir
tux@earth:~$ chmod 400 ~/.thinkfinger.bir
Eventuell muss jetzt noch der folgende Befehl ausgeführt werden.
tux@earth:~$ sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable
Um den
Bug zu umgehen und nicht immer nach der Authentifizierung ENTER einzugeben muss folgendes in der /etc/X11/xorg.conf hinzugefügt werden.
tux@earth:~$ sudo vi /etc/X11/xorg.conf
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
EndSection...Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen" 0 0
InputDevice "Generic Keyboard"
EndSection
Damit die manuellen Änderungen der xorg.conf auch nach einer Aktuallisierung vorhanden bleiben, wird folgender Befehl ausgeführt.
tux@earth:~$ sudo dpkg-reconfigure -phigh xserver-xorg
Dokumentation