Über das PAM USB Modul kann die Anmeldung am Linux-Computer entweder bequemer oder sicherer gestaltet werden: Bequemer, wenn ein USB-Stick als real existierender „Schlüssel” zur Anmeldung genügen soll, sicherer, indem neben einem Passwort auch der Besitz eines bestimmten Sticks nachgewiesen werden muss. Die Authentifizierung funktioniert systemweit – also wohl auf dem Anmeldebildschirm als auch in der Konsole z.B. beim Einsatz von „sudo”.
Im folgenden wird die Einrichtung unter Arch Linux erklärt. Der Ablauf ist bei anderen Distributionen sehr ähnlich, daher kann diese Anleitung auch mit anderen Linux Betriebssystemen genutzt werden.
PAM_USB installieren
Das USB PAM Modul ist nicht im offiziellen Arch Repository verfügbar und muss aus dem AUR installiert werden. Ein fertig eingerichtetes Yaourt ist Voraussetzung. Für andere Linux-Distributionen lautet der Paketname ähnlich (Unter Ubuntu Trusty: „libpam-usb”)
yaourt -S pam_usb
Neuen USB Stick konfigurieren
Die Konfiguration kann entweder manuell in der Datei „/etc/pamusb.conf” vorgenommen werden oder über ein kleines Helferprogramm „pamusb-conf”. Verbindet euren „Schlüssel-Stick” mit dem Rechner und registriert ihn im System. Gebt ihm eine Bezeichnung wie z.B. „meinstick”.
sudo pamusb-conf --add-device=meinstick
Möglicherweise werdet ihr gefragt, welchen Stick oder welche Partition auf dem USB Stick ihr zur Authentifizierung nutzen wollt. Wählt über die Eingabe der entsprechenden Zahl die gewünschte Partition aus. Bestätigt das Speichern nach /etc/pamusb.conf. Der Stick ist nun registriert und kann mit einem Benutzer („benutzername”) verbunden werden.
sudo pamusb-conf --add-user=benutzername
Wenn ihr bisher nur einen USB Stick registriert habt, habt ihr an dieser Stelle keine weitere Auswahlmöglichkeit – ansonsten könnt ihr hier wählen, welcher Stick zur Anmeldung benutzt werden soll (deshalb wurden für die Sticks Namen vergeben! ;) )
Bestätigt wieder das Speichern in die Konfigurationsdatei.
PAM_USB aktivieren
Damit eine Anmeldung über das USB PAM Modul möglich ist, muss dieses erst aktiviert werden. Öffnet dazu unter Arch Linux die Datei /etc/pam.d/system-auth (auf anderen Systemen evtl. „common-auth”).
sudo nano /etc/pam.d/system-auth
Über der Zeile
auth required pam_unix.so [...]
wird diese neue Zeile eingefügt:
auth sufficient pam_usb.so
Das „sufficient” bedeutet, dass eine USB-Authentifizierung ausreicht und nicht mehr nach dem Passwort gefragt werden soll. Wer lieber eine zwei-Faktor-Authentifizierung haben will, stellt hier „required” ein, sodass beides – USB Stick UND Passwort – zur Anmeldung angegeben muss.
Funktion testen
Um die Funktion zu testen, genügt es, das aktuelle Terminal zu schließen, ein neues zu öffnen, und den „sudo -i” Befehl zu nutzen. Normalerweise wird an dieser Stelle ein Passwort abgefragt. Wenn der Stick verbunden ist, sollte das nun nicht mehr der Fall sein. Der Stick wird erkannt und der Zugang freigegeben „Access granted.”
Der Stick funktioniert sowohl bei der Anmeldung am Computer (z.B. GDM oder Lightdm) als auch bei sudo-Kommandos. Leider unterstützt beispielsweise der Gnome-Keyring keine USB-Authentifizierung, sodass es sein kann, dass man nach dem Login am System weiterhin nach einem Passwort für alle weiteren Schlüssel im Schlüsselbund gefragt wird. Das lässt sich zwar abschalten, indem ein leeres Passwort für den Schlüsselring gesetzt wird, jedoch werden die Passwörter dann nicht mehr verschlüsselt auf der Festplatte abgelegt, was insbesondere auf unverschlüsselten Festplatten ein Problem darstellen kann.
Benutzer oder USB-Stick abmelden
Wenn die PAM-Authentifizierung nicht mehr genutzt werden soll, kann die entsprechende Zeile in der Konfiguration der PAM Module entfernt werden (/etc/pam.d/system-auth bzw. common-auth). Einzelne Sticks oder Benutzer können außerdem aus der Konfigurationsdatei /etc/pamusb.conf entfernt werden (XML-Syntax!). Danach ist für die betroffenen Nutzer keine Anmeldung über USB-Stick mehr möglich.
Noch ein Hinweis zum Schluss:
… weil ich gerade in den Kommentaren daran erinnert wurde: Die beste PAM Authentifizierung nützt im Extremfall nichts, wenn die Festplatte unverschlüsselt ist. Persönliche Daten bzw. die ganze Festplatte sollten vor allem auf mobilen Geräten verschlüsselt sein! Über den Boot von einem Livemedium (physischer Zugriff zum Gerät) kann die PAM Authentifizierung sehr einfach umgangen werden.