PAM RFID
Available translations:
PAM RFID ist ein Linux PAM Modul, womit sich ein Benutzer mit einer RFID Karte an seinem Rechner anmelden kann. PAM RFID benutzt dazu einen EM4100 kompatiblen RFID-Leser (z.B. RDM6300), der mittels USB-TTL Adapter an den Rechner angeschlossen wird. Mit ein wenig handwerklichem Geschick, kann der Sensor in einem kleinen Universalgehäuse untergebracht werden:
Für die Steuerung des RFID-Lesers wird die Python Bibliothek PyRfid verwendet. Falls kein RFID-Leser angeschlossen ist, wird die Standard-Passwortauthentisierung benutzt. Das Einrichten einer Zwei-Faktor-Authentifizierung ist zudem möglich. PAM RFID wird mit dem Programm pamrfid-conf
konfiguriert.
Hardware
PAM RFID benötigt folgende Hardware:
- EM4100 kompatibler 125kHz RFID-Leser (z.B. RDM6300)
- Mindestens eine 125kHz RFID-Karte (sog. RFID-Tag)
- USB-TTL Adapter
- (optional) Universalgehäuse (75x55x25mm)
Anschluss der Hardware
Der RFID-Sensor 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-rfid
Anschließend fehlende Pakete installieren:
$ sudo apt-get install -f
Einrichtung
Da PAM RFID über USB kommuniziert und dies standardmäßig nur "root" vorbehalten ist, muss jedem Benutzer, der PAM RFID benutzen will, dies zuerst erlaubt werden:
$ sudo usermod -a -G dialout username
Ein Neustart ist anschließend erforderlich. Danach können Benutzer zu PAM RFID hinzugefügt werden.
$ sudo reboot
PAM RFID besteht zum einen aus dem Linux PAM Modul selbst und einem konsolenbasierten Konfigurationsprogramm, um Benutzer hinzuzufügen. Die Authentisierung mittels RFID-Tag wird beispielsweise mit folgendem Befehl für einen Benutzer aktiviert:
$ sudo pamrfid-conf --add-user username
Um zu überprüfen, ob sich der gerade hinzufügte Benutzer mit dem RFID-Tag anmelden kann, wird der folgende Befehl benutzt:
$ pamrfid-conf --check-user username
Hier sollte das eben eingelesene RFID-Tag 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 RFID-Tag anmelden.
Die Anmeldedaten von PAM RFID werden in der Datei /etc/pamrfid.conf
unterhalb der Sektion [users]
gespeichert. Der Aufbau eines Eintrags ist dabei:
Benutzername = Salt, Salted-SHA256(RFID-Tag)
In der anderen Sektion [PyRfid]
können Einstellungen des RFID-Lesers geändert werden.
Da PAM RFID 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 beispielsweise Raspbian mit PAM RFID 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.