Login
Newsletter
Werbung

Mo, 13. August 2007, 00:00

Automatisches Login per USB-Stick

Login für mehrere Benutzer mit pamusb

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.

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