PAM Fingerprint
Available translations:
PAM Fingerprint ist ein Linux PAM Modul, womit sich ein Benutzer mit seinem Fingerabdruck an seinem Rechner anmelden kann. PAM Fingerprint benutzt dazu Hardware-seitig den ZFM-20 von Zhaintec (auch bekannt als "Arduino Fingerprint Sensor"), der mittels USB-TTL Adapter an den Rechner angeschlossen wird.
Für die Steuerung des Fingerabdrucksensors wird die Python Bibliothek PyFingerprint verwendet. Mit ein wenig handwerklichem Geschick, kann der Sensor in einem kleinen Universalgehäuse untergebracht werden:
Falls kein Fingerabdrucksensor angeschlossen ist, wird die Standard-Passwortauthentisierung benutzt. Das Einrichten einer Zwei-Faktor-Authentifizierung ist zudem möglich. PAM Fingerprint wird mit dem Programm pamfingerprint-conf
konfiguriert.
Hardware
PAM Fingerprint benötigt folgende Hardware:
- Zhaintec ZFM-20 (auch bekannt als "Arduino Fingerprint Sensor")
- USB-TTL Adapter
- (optional) Universalgehäuse (75x55x25)
Anschluss des Sensors
Der Fingerabdrucksensor wird wie folgt mit dem USB-TTL Adapter verbunden:
Installation
Nachdem das PM Code Works APT-Repository hinzugefügt wurde, kann das Paket einfach mit folgendem Befehl installiert werden:
$ sudo apt-get install libpam-fingerprint
Anschließend fehlende Pakete installieren:
$ sudo apt-get install -f
Einrichtung
Da PAM Fingerprint über USB kommuniziert und dies standardmäßig nur "root" vorbehalten ist, muss jedem Benutzer, der PAM Fingerprint benutzen will, dies zuerst erlaubt werden:
$ sudo usermod -a -G dialout username
Ein Neustart ist anschließend erforderlich. Danach können Benutzer zu PAM Fingerprint hinzugefügt werden.
$ sudo reboot
PAM Fingerprint besteht zum einen aus dem Linux PAM Modul selbst und einem konsolenbasierten Konfigurationsprogramm, um Benutzer hinzuzufügen. Die Fingerabdruckauthentisierung wird beispielsweise mit folgendem Befehl für einen Benutzer aktiviert:
$ sudo pamfingerprint-conf --add-user username
Dabei wird ein beliebiger Finger zweimal eingelesen. Um zu überprüfen, ob sich der gerade hinzufügte Benutzer mit seinem Fingerabdruck anmelden kann, wird der folgende Befehl benutzt:
$ pamfingerprint-conf --check-user username
Die LED des Sensors sollte anfangen zu leuchten und der eben eingelesene Finger sollte wieder benutzt werden. Währendessen werden einige Informationen in der Konsole ausgegeben. Steht am Ende "successful", war der Test erfolgreich und der Benutzer kann sich in Zukunft mit seinem Finger anmelden.
Die Anmeldedaten von PAM Fingerprint werden in der Datei /etc/pamfingerprint.conf
unterhalb der Sektion [users]
gespeichert. Der Aufbau eines Eintrags ist dabei:
Benutzername = Fingerabdruck-ID, SHA256(Fingerabdruck)
In der anderen Sektion [PyFingerprint]
können Einstellungen des Fingerabdrucksensors geändert werden.
Da PAM Fingerprint komplett in Python implementiert wurde, ist es auf jeder Architektur verwendbar, für die eine Python Implementierung vorhanden ist. Somit kann auch der Raspberry Pi mit der ARM-HF Architektur unter Verwendung von Raspbian, mit PAM Fingerprint betrieben werden.
Eigenes PAM Modul
Wie genau PAM funktioniert und wie eigene PAM Module implementiert und in Linux integriert werden können, gibt es eine Anleitung unter Linux PAM.