tux

L i n u x - S c h u l e
Erweiterungen des Login Scriptes

Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities

Neue User ohne Rückfragen einloggen - Login mit Protectorkarten

Direkt zum Download

Das Problem:

Wenn sich ein User an einer Windos9x Maschine einloggt, an der er noch nie gesessen hat, bekommt er zwei Dialogfelder präsentiert:
- Sollen die persönliche Einstellungen beibehalten werden?
- Das Passwort soll bestätigt werden.

Das gleiche Problem ergibt sich bei der Verwendung von Protektorkarten und persönliche Logins: weil nichts gespeichert wird, werden die beiden Dialoge nach jedem neuen Booten präsentiert.

Windows9x legt auch für jeden Anwender eine lokale Kopie seiner user.dat unter c:\windows\profiles an. Weil die user.dat aber sinnvollerweise auf dem Server liegt, häufen sich auf diese Weise vermeidbare Dateien auf dem Client.

Die Lösung

Beide Probleme können durch eine Änderung des Login Scriptes (es liegt in /etc/samba/scripts/logon.bat) gelöst werden. Beim Einloggen wird dynamisch eine Registrierungsdatei erzeugt, die dann in die lokale Registrierung eingelesen wird.

Da Windows den bei der Anmeldung eingegebenen Usernamen nicht in einer Variablen ablegt. kommt ein Hilfprogramm zum Zuge: PUTINENV. Es macht verschiedene Angaben zum Netzwerk als Variablen verfügbar. Putinenv und seine Hilfedatei (Vorschau auf die Hilfe) sind im Downloadpaket enthalten.

Durch bestimmte Einstellung in der Registry ist es dann möglich, folgendes zu bewirken:

Damit das alles funktioniert, müssen natürlich die lokalen Registrierungseinstellungen des Anwender (seine user.dat) auf dem Server gespeichert sein. Die folgende Einstellung in /etc/samba/smb.conf sorgt für eine Speicherung der user.dat im Verzeichnis u:\profile

[global]
logon home = %u

Über das Verzeichnis /etc/skel kann man dafür sorgen, dass jeder neue Anwender eine vorkonfigurierte user.dat beim Anlegen in seinem Homeverzeichnis erhält. Weitere Hinweise zur Verwendung von /etc/skel gibt es im Serverbereich.

ACHTUNG Damit das Verfahren so funktioniert, muß die user.dat vor dem ersten Einloggen auf dem Server vorliegen! Sonst kommt doch zuerst der Dialog "Sie melden sich erstmals ..." hoch.

Das modifizierte Login Script

net use u: \\arktur\homes /yes
net use p: \\arktur\pub /yes
net use t: \\arktur\tmp /yes
net time \\arktur /set /yes

call \\arktur\netlogon\setreg.bat

In der letzten Zeile wird dann der Batchfile für den Registry-Patch aufgerufen:

@echo off

REM Batch zum Anlegen von Usern in der Win9x Registry beim Einloggen
REM Thomas Litsch, 16.04.2000 [tlitsch@gmx.de]

REM Der Name des Anwenders wird ausgelesen
REM und in der Variable %username% abgelegt.

\\arktur\netlogon\putinenv.exe L

REM Ein neuer Registry Eintrag wird generiert

set regfile=c:\windows\temp\profreg.reg
echo REGEDIT4> %regfile%
echo.>> %regfile%
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList]>> %regfile%
echo.>> %regfile%

REM Der Pfad in der naechsten Zeile muss an die Konfiguration der
REM Arbeitsstationen angepasst werden!!!
REM Hier bleibt die User.dat in u:\profile liegen und wird nicht
REM nach c:\windows\profiles kopiert

echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList\%username%]>> %regfile%
echo "ProfileImagePath"="U:\\profile">> %regfile%

REM Damit nicht nach dem Passwort gefragt wird, schalten wir das ab

echo. >> %regfile%
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network]>> %regfile%
echo "DisablePwdCaching"=dword:00000001>> %regfile%

REM Der erzeugt Registy Eintrag wird eingetragen: /s fuer silent!

regedit /s %regfile%


Das Download-Paket enthält folgende Dateien:

Nach oben

© Thomas Litsch, zuletzt aktualisiert 27.04.2000, Email: thomas.litsch@linux-schule.de