Automatisches Login per USB-Stick
Login für mehrere Benutzer mit pamusb
Von
Jan Hofmann
Skript zur Überprüfung
Das Skript heißt loginusb2 und wird in /usr/local/bin angelegt. Warum es loginusb2 heißen muss, wird gleich erklärt.
Das Skript sieht folgendermaßen aus (hier mit einem Beispiel für die Display-Manager KDM und GDM). Es steht als loginusb2_normal zum Download bereit.
#!/bin/bash IFS=" " Y=1 while [ $Y == 1 ]; do for X in `grep "<user id=" /etc/pamusb.conf | cut -d "\"" -f 2 | cut -d "\"" -f 1`; do if [ $X != "root" ] && [ $X != "scox" ]; then pamusb-check --quiet $X if [ $? == 0 ]; then Y=2 killall S99zloginusb kill `pidof fbi` #Beispiel-Konfiguration für den Display-Manager kdm: sed -i "s/\(^AutoLoginUser=\).*/\1$X/" /etc/kde3/kdm/kdmrc sed -i "s/\(^NoPassUser=\).*/\1$X/" /etc/kde3/kdm/kdmrc sed -i "s/\(^NoPassEnable=\).*/\1true/" /etc/kde3/kdm/kdmrc sed -i "s/\(^AutoLoginEnable=\).*/\1true/" /etc/kde3/kdm/kdmrc sed -i "s/\(^AutoLoginLocked=\).*/\1false/" /etc/kde3/kdm/kdmrc /etc/init.d/kdm start & #Beispiel-Konfiguration für den Display-Manager gdm: sed -i "s/\(^AutoLoginUser=\).*/1$X/" /etc/gdm/gdm.conf-custom sed -i "s/\(^AutoLoginEnable=\).*/1true/" /etc/gdm/gdm.conf-custom /etc/init.d/gdm start & else sleep 2 fi fi done; done;
Dieses Skript macht Folgendes: Zuerst wird die Datei /etc/pamusb.conf geöffnet und die dort registrierten Benutzer werden ausgelesen. Jetzt wird mit Hilfe des Programmes pamusb-check getestet, ob einer der registrierten Benutzer seinen USB-Stick an den Computer angeschlossen hat. Dies wird durch eine Endlosschleife immer wieder geprüft.