Login über Fingerprintsensor

Erstellt am 03.02.2008

Login über Fingerprintsensor

Mit diesem kleinen HowTo möchte ich einen weiteren Teil zum Thema alternative Loginmöglichkeiten mit Linux hinzufügen. Wie schon beim Login über USB-Stick hat diese Variante der Anmeldung aber auch noch ein paar Nachteile, auf die ich später noch eingehen werde.

Zunächst aber mal ein kleiner Bericht, auf was ihr euch hier einlasst; nein, Installationsorgien gibts keine, nur ist das nicht ganz so schön, wie unter Windows, dass ihr einen beliebigen Finger drüber streicht, der Fingerscan angezeigt wird und ihr dann elegant eingeloggt werdet. Das schauspiel sieht eher so aus, dass ihr einen ganz normalen KDM-Loginscreen präsentiert bekommt, bei dem ihr einfach Return drückt. Darauf kommt ein graues Fenster mit der Meldung "Please scan your left little finger" und einem OK-Button. Wenn ihr euren Finger dann gescannt habt und auf OK klickt, dann seht ihr entweder "Login fehlgeschlagen" oder ihr werdet angemeldet... Leider sieht man aber nicht, ob man zu hurtig oder zu langsam beim Scannen war.

Wenn euch diese Prozedur nicht abschreckt, dann könnt ihr das HowTo ja mal durchgehen. Das Einlesen der Finger erfolgt im übrigen sogar schon über ein grafisches Tool :-) nur wird beim Login immer der zuletzt gescannte Finger verwendet und man kann nicht einen beliebigen Finger scannen. Aber noch ist das ganze Projekt auch noch im Entwicklungsstadium - das wird also bestimmt irgendwann mal besser.

Hier noch der Link zur Homepage von pam_fprint.

Installation vom pam_fprint

Dieser Abschnitt widmet sich der Installation des PAM-Moduls. Diese gestaltet sich dank fertiger Pakete (sogar für 64 Bit) sehr einfach. Geht in das Repository von Georges A.K. und ladet euch dort die zu eurer SuSE-Version passenden Pakete fprint_demo, libfprint und pam_fprint herunter und installiert diese. Damit ist der größte Teil bereits getan.

Der Rest der Installation gestaltet sich ähnlich, wie schon beim Login über USB-Stick. Es müssen die Fingerabdrücke eingelesen werden und das pam_fprint-Modul in der /etc/pam.d/common-auth eingetragen werden.

Dazu zunächst also mit einem Editor eurer Wahl die common-auth-Datei wie folgt bearbeiten:

#%PAM-1.0
#
# This file is autogenerated by pam-config. All changes
# will be overwritten.
#
# Authentication-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth   required     pam_env.so
auth   sufficient   /lib/security/pam_fprint.so
auth   required     pam_unix2.so   nullok_secure

Die genaue Bedeutung der einzelnen Einträge könnt ihr im USB-Stick-HowTo nachlesen.

Jetzt ist das Loginmodul soweit konfiguriert, dass eine Anmeldung entweder nur über euren Fingerprintsensor, oder bei dessen Fehlschlag über euer normales Passwort möglich ist.

Fingerabdrücke einlesen

Weiter gehts mit dem Einlesen eines Fingerabdrucks. Dieser wird im Ordner .fprint in eurem Homeverzeichnis abgelegt und sollte daher umbedingt nur für euren Benutzer lesbar/schreibbar sein (wird standardmäßig so angelegt). Daher kann aber z.B. auch kein Fingerabdruck für den Befehl su bzw. sudo eingegeben werden, da der User, der den Befehl aufruft ja keine Leseberechtigungen im Ordner /root hat - es kann also kein Fingerprint ausgelesen werden. Der KDM oder der Login an der Konsole läuft jedoch mit Root-Rechten, weswegen hier auf die Fingerabdrücke der Benutzer zurück gegriffen werden kann.

Soviel zur technischen Seite des Moduls. Jetzt wollen wir aber endlich mal einen Fingerabdruck einlesen: dazu bitte den befehl fprint_demo ausführen und ihr solltet in folgendem Fenster landen.

Hauptmenü Fingerabdruck eingelesen
Hier einfach beim gewünschten Finger auf Enroll klicken und den Finger über den Scanner ziehen. Wurde der Abdruck erfolgreich eingelesen, wird euch das nächste Fenster präsentiert (ich hab den hier natürlich verwischt, wer weiß, was sonst damit noch angestellt wird... z.B. beim Edeka einkaufen oder so).

Jetzt könnt ihr in den beiden nächsten Menüs entweder einen bestimmten Fingerabdruck überprüfen lassen, oder Testen, ob der Abdruck wiedererkannt wird:

Fingerabdruck verifizieren Fingerabdruck identifizieren
Fingerabdruck verifizieren (überprüfen) Fingerabdruck identifizieren (wiedererkennen)

Jetzt ist es an der Zeit das ganze mal zu testen: wer sich unsicher ist, der geht in eine der virtuellen Konsolen (also Strg + Alt + F1) und probiert dort einen Login, wenn alles ok ist, kann man sich komplett ausloggen und mal einen Login im KDM versuchen.

Leider verwendet das Modul den ersten Fingerabdruck den es finden kann und keinen beliebigen. In meinem Beispiel verlangt er also immer nach dem kleinen linken Finger. In einer neueren Version könnte sich das aber vielleicht auch noch ändern.

Dieses HowTo funktioniert übrigens anstandslos auf meinem HP nx6325 Notebook unter SuSE 10.3 x86_64. Ich werde es auch demnächst noch in mein HowTo zur Installation von SuSE auf dem nx6325 einfügen.

Dann hoffe ich mal, dass ihr damit was anfangen könnt und es bei euch genauso gut funktioniert.

Seitenanfang