Login
Newsletter
Werbung

Mo, 13. August 2007, 00:00

Automatisches Login per USB-Stick

Login für mehrere Benutzer mit pamusb

Ziel dieses Artikels ist es, sich durch einen USB-Stick zu identifizieren und danach automatisch eingeloggt zu werden, inklusive Start der grafischen Benutzeroberfläche.

Einführung

Die Idee: Bevor das normale Login kommt, soll das System anhalten und auf das Einstecken des richtigen USB-Sticks warten. Zur Überprüfung wird das PAM-Modul »pamusb« benutzt. Steckt nun ein Benutzer seinen USB-Stick an den Computer, wird überprüft, ob er registriert ist. Ist diese Abfrage erfolgreich, so startet der Desktop des Benutzers.

Außerdem sollte das Ganze grafisch auch ansprechend sein. Dafür wird eine Framebuffer-Konsole und das Programm »fbi« benötigt. Aber später mehr dazu!

Probleme mit upstart und initng

Mit Ubuntu/Kubuntu bzw. allen Systemen, die upstart oder initng verwenden, tritt ein Problem auf.

Bei Debian und bei allen anderen Distributionen, die das normale init-Skript verwenden, werden die init-Skripte linear, also der Reihe nach, abgearbeitet. Aus diesem Grund werden die Konsolen und die Logins erst bereitgestellt, wenn alle init-Skripte abgearbeitet sind. In diesem Falle bedeutet es, dass man ohne den richtigen USB-Stick nicht zum Login kommt.

Bei Systemen, die upstart oder initng einsetzen, wie Ubuntu und seine Derivate, werden die Skripte parallel ausgeführt. Dadurch werden im Hintergrund, wenn fbi läuft, die Konsolen bereitgestellt und man kann sich einloggen.

Es liegt also nahe, diese nicht automatisch zu initialisieren, sondern erst nach erfolgreicher Identifikation durch den USB-Stick. Wie das geht, kann ganz am Ende des Artikels nachgelesen werden.

Hinweis: Alle folgenden Befehle werden als Root ausgeführt!

pamusb einrichten

pamusb erlaubt unter Linux eine Authentifizierung mit einem USB-Stick. Da es über dieses Programm schon diverse HowTos gibt, werde ich auf die Einrichtung etc. nicht näher eingehen:

  1. Das PAM_USB-Projekt (Das Wiki des Projekts mit leicht verständlicher Anleitung, allerdings auf Englisch)
  2. Authentifizierung mit USB-Stick - ubuntuusers.de (deutsche Übersetzung der Original-Anleitung, sollte der englischen entsprechen)

Achtung: Es darf pro USB-Stick nur ein Benutzer verknüpft sein, damit das System für mehrere Benutzer funktioniert!

Nachdem man pamusb eingerichtet hat, ist der erste Schritt getan.

Display-Manager (kdm/gdm) aus dem init-System entfernen

Nun wird der automatische Start des Display-Managers verhindert. Dafür wird er aus dem Multiuser-Runlevel entfernt, indem der dazugehörige Link zum Beispiel in einen Backupordner verschoben wird. Die genaue Linkbezeichnung kann dabei abweichen, je nachdem, welchen man verwendet. Weiterhin muss festgestellt werden, welcher Runlevel der Multiuser-Runlevel ist. Bei Debian ist dies 2:

# Beispiel für kdm:
mv /etc/rc2.d/S99kdm /root/backup/S99kdm
# Beispiel für gdm:
mv /etc/rc2.d/S99gdm /root/backup/S99gdm

Nun wird der Display-Manager nicht mehr automatisch gestartet.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung