PAM RFID

Available translations:

en

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:

PAM RFID

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:

Anschluss von Sensor und USB-TTL Adapter

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.