Thinkpad Fingerprint und Ubuntu Jaunty
Linux/OpenSource, ubuntuusers.de Juli 9th, 2009Thinkpad Laptops waren meines Wissens die ersten Laptops, in denen ein Fingerprint Sensor integriert war. Damit kann mit den ThinkVantage Tools unter Windows die Anmeldung erheblich vereinfacht und beschleunigt werden – lediglich der Fingerabdruck wird erfasst. Das erhöht zudem dann die Sicherheit, wenn einem mal über die Schulter geschaut wird, während man sich anmeldet. (Ansonsten ist ein gut gewähltes Passwort sicherlich besser, als ein Fingerabdruck, denn diese lassen sich relativ einfach „kopieren“.)
Nun geht es darum den Fingerabdruck Scanner auch unter Ubuntu lauffähig zu machen. In Ubuntu Jaunty ist im universe Repository dazu auch das nötige Werkzeug: „libpam-thinkfinger thinkfinger-tools“ sind die dazu nötigen Pakete. PAM ist die „pluggable authentication modules“ Schnittstelle zur Authentifizierung bei Linux. Hier kann alles erdenkliche ergänzt und konfiguriert werden, von LDAP bis hin eben zu Fingerabdruck Scannern.Mit dem Kommando
sudo apt-get install libpam-thinkfinger thinkfinger-tools
installiert man so nun die nötigen Pakete für den Thinkpad Fingerprint Support. Die Konfiguration ist etwas aufwendiger: Sowohl PAM als auch für Gnome und X11 sind noch Anpassungen zu erledigen. Als erstes erlauben wir Zugriff auf den Fingerprint Leser über eine neue Nutzergruppe:
sudo groupadd fingerprint
Die Datei /etc/udev/rules.d/60-thinkfinger.rules sollte dazu noch folgenden Inhalte bekommen (http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger
):
# 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“
Die Änderungen werden mit diesem Befehl dann wirksam (Achtung dabei wird ggf. eine WLAN Verbindung getrennt):
sudo /sbin/udevadm trigger
Jetzt werden die Zugriffsrechte für den aktuellen User in die Gruppe „fingerprint“ eingetragen:
sudo gpasswd -a $USERNAME fingerprint
Nun kanns mit dem Einlesen losgehen! Mittels tf-tool --acquire
wird ein Fingerabdruck eingelesen. Zur Sicherheits kann man danach mittels --verify
diesen auch nochmals überprüfen:
tkruse@flux:~$ tf-tool --acquire
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing… done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)… done.
Storing data (/home/tkruse/.thinkfinger.bir)… done.
tkruse@flux:~$ tf-tool –verify
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig
Initializing… done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)… done.
Result: Fingerprint does match.
Möchte man den so überprüften Fingerabdruck gegen versehentliches Überschreiben schützen, kann man den Zugriff auf „nur lesen“ setzen:
chmod 400 ~/.thinkfinger.bir
Fehlt nur noch PAM – auch hier ist nicht viel zu tun:
sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable
Theoretisch ist jetzt alles fertig – jedoch gibt es ein paar Bugs in den aktuellen Ubunty Jaunty Thinkpad Fingerprint Paketen. Das führt dazu, dass der Thinkpad Fingerprint Leser zu langsam anspringt und manchmal garnicht zur Kooperation zu bewegen ist. Hier hilft – wie so oft – ein PPA mit aktuelleren Paketen.
sudo echo "deb http://ppa.launchpad.net/thjaeger/ppa/ubuntu jaunty main" > /tmp/tpfinger.list
sudo mv /tmp/tpfinger.list /etc/apt/sources.list.d/
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com D24C9B879E691625
sudo apt-get update
sudo apt-get upgrade
Rebooten – und der Fingerprint tut wie gewünscht. Einen kleinen Haken hat die Sache noch: Hat man den gnome-keyring in Verwendung (z.B. für den Network Manager), so kann dieser nicht mit dem Fingerabdruck aufgeschlossen werden. Der Hintergrund ist, dass der Schlüsselbund von Gnome verschlüsselt wird, wenn man ein Passwort verwendet. (Z.b. normalerweise das Login Passwort).
Da der Fingerabdruck jedoch aufgrund der Varianz bei jedem Scan als „echtes“ ver-/entschlüsselungspasswort ungeeignet ist, bleibt hier nur die erneute Eingabe eines Passworts für den Keyring, oder den Gnome Schlüsselbund unverschlüsselt zu speichern. (Dann können bei einer Sicherheitsverletzung u.U. aber alle Schlüssel ausgelesen werden, das ist sicherlich keine gute Alternative.)
Eine Diskussion dazu gibt es im zugehörigen Ubuntu Bug: https://bugs.launchpad.net/gnome-keyring/+bug/276384
Juli 9th, 2009 at 19:47
Selbst besitze ich auch ein ThinkPad und der Fingerprintreader sollte an sich doch gehen, ohne so viel „gewerkel“.
Leider fehlen da aber noch mehr Dinge, die nicht ordentlich laufen, leider.
Dazu die marode Akku Laufzeit und die massiv schlechte Unterstützung grundlegend von Grafikkarten. ATI geht mal mit Jaunty gar nicht 🙁
Juli 9th, 2009 at 20:04
Oh, da bin ich ja mal gespannt, ob das mit meinem R400 funktioniert. Ich würde mich freuen. =)
Juli 9th, 2009 at 20:53
Nettes How-To, nur leider haben nicht alle Thinkpads den Thompson Fingerprintreader. Sollte Vielleicht erwähnt werden.
Juli 9th, 2009 at 22:25
Mein Thinkpad – ein R61 Typ 8918 DFG – hat keinen Thomson Scanner eingebaut und deshalb geht bis heute unter Debian / Ubuntu der Fingerprint-Reader nicht.
Juli 9th, 2009 at 22:34
Oh das ist natürlich ärgerlich. Da bin ich dann froh so einen „alten“ Thinkpad zu haben.
(BTW: Ein Thinkpad T43 gibts so für 250 Euro gebraucht. Finde ich einen verdammt guten Deal wenn man arbeiten und nicht zocken möchte.)
Juli 12th, 2009 at 13:09
[…] everflux von everflux.de: Ubuntu Bluetooth UMTS und Thinkpad Fingerprint Sensor […]
August 14th, 2009 at 18:31
Das Nachfolgeprojekt für die Thinkfinger Toolsuite ist wohl „fprint“. Neben einer GUI Anwendung gibt es für alle ohne Thinkpad (oder Thinkpads mit nicht unterstützten Fingerabdruck Lesern) ist das somit eine interessante Ressource: http://reactivated.net/fprint/wiki/Main_Page