Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Integrationshandbuch Microsoft-Netzwerk von Ulrich Schlüter
Windows Server 2003 R2, SBS 2003, ADS, Exchange Server, Windows XP und Microsoft Office
Buch: Integrationshandbuch Microsoft-Netzwerk

Integrationshandbuch Microsoft-Netzwerk
1.008 S., mit CD, 69,90 Euro
Galileo Computing
ISBN 3-89842-847-8

>>Jetzt bestellen!
gp Kapitel 15 Das Anmeldeskript
  gp 15.1 Das Anmeldeskript als »eierlegende Wollmilchsau« verwenden
  gp 15.2 Wo liegt das Anmeldeskript auf dem Domänencontroller?
  gp 15.3 Das Anmeldeskript strukturieren
  gp 15.4 Die Netlogon-Freigabe mit Unterverzeichnissen strukturieren
  gp 15.5 Ein Anmeldeskript einem Benutzer zuweisen
  gp 15.6 Ein Anmeldeskript einer Benutzergruppe zuweisen
  gp 15.7 Startskripte und Herunterfahrenskripte
  gp 15.8 Verhindern, dass das Anmeldeskript versehentlich auf einem Server oder unter der Kennung eines Domänen-Administrators abläuft
  gp 15.9 Für eine Gruppe von Anwendern ein Gruppenlaufwerk definieren
  gp 15.10 Exkurs zum Verständnis des Befehls
»if errorlevel Zahl«
  gp 15.11 Die Variable LOGONSERVER verwenden
  gp 15.12 Die Möglichkeiten der Gruppenverschachtelung nutzen
  gp 15.13 Laufwerkszuordnungen für Unterabteilungen einrichten
  gp 15.14 Der Befehl »subst« als Alternative zu Freigaben
  gp 15.15 Den Ablauf des Anmeldeskriptes beschleunigen
  gp 15.16 Unterroutinen einsetzen
  gp 15.17 Skripte mit dem Tool Kix32 rasend schnell machen
  gp 15.18 Switch User nutzen, um mit beliebigen Rechten zu operieren
  gp 15.19 Beispiele für die Anwendung von SU
  gp 15.20 Psexec als Alternative zu Runas, SU oder MakeMeAdmin
  gp 15.21 Ein zentrales Verzeichnis für temporäre Dateien anlegen
  gp 15.22 Umgebungsvariable setzen
  gp 15.23 Netzdrucker zentral den Clients oder Benutzern zuweisen
  gp 15.24 Informationen über den Computer oder den angemeldeten Benutzer auf dem Bildschirm anzeigen
  gp 15.25 BGInfo von www.sysinternals.com
  gp 15.26 Verknüpfungen mit dem Tool SHORTCUT.EXE generieren
  gp 15.27 Hardware- und Softwareinformationen in einer zentralen Serverfreigabe sammeln
  gp 15.28 MSINFO32 inventarisiert Ihre Computer
  gp 15.29 Einen Nachrichtentext bei der Anmeldung anzeigen
  gp 15.30 Zugriff auf Programme zum Bearbeiten der Registrierung verhindern
  gp 15.31 Ein vollständiges Beispielskript für unsere Organisation »Company.local«
    gp 15.31.1 Anmeldeskript für den Small Business Server
  gp 15.32 Visual-Basic-Skripte verwenden


Galileo Computing

15.18 Switch User nutzen, um mit beliebigen Rechten zu operieren  toptop

Das Anmeldeskript soll aber nicht nur dazu dienen, Laufwerksbuchstaben nach Gruppenzugehörigkeit zuzuweisen. Wie in der Einleitung dieses Kapitels erwähnt wurde, können mit Hilfe des Anmeldeskripts beliebige Operationen und Einstellungen in der Umgebung des sich anmeldenden Benutzers, aber auch im Betriebssystem selbst vorgenommen werden, bis hin zur Deinstallation, zur Installation oder zum Update ganzer Anwendungen und natürlich zum Einspielen von Service Packs für das Betriebssystem Windows XP.

Nun läuft aber das Anmeldeskript im Rechtekontext des sich anmeldenden Anwenders ab. Der Anwender gehört jedoch in der Regel zur Gruppe der Domänenbenutzer und ist damit nicht berechtigt, Dateien an beliebiger Stelle der lokalen Festplatte auszutauschen, neue Verzeichnisse anzulegen, Registrierschlüssel unter HKEY-LOCAL-MACHINE zu ändern, zu löschen oder einzufügen oder Dienste zu installieren. Alle diese Aufgaben können jedoch über ein zentrales Anmeldeskript erfüllt werden, wenn man das Tool Switch User (su.exe) aus dem Windows Server Resource Kit einsetzt. Switch User (SU) arbeitet ähnlich wie unter Windows XP der Befehl run as, jedoch mit dem Unterschied, dass man in einer Batchdatei die Kennung und das Passwort eines anderen Benutzerkontos übergeben kann. SU besteht aus den zwei Komponenten su.exe und suss.exe. Auf jeden Windows-XP-Rechner müssen diese beiden exe-Dateien unter C:\Windows\System32 eingespielt und der SU-Dienst muss einmalig mit dem Befehl suss –install installiert werden. Diese Routine erledigt eine Batch-Datei, die beim Start des Clients mittels einer Gruppenrichtlinie aktiviert wird: Die beiden exe-Dateien su.exe und suss.exe werden in das Verzeichnis \\s1\netlogon\util kopiert. Im Verzeichnis \\s1\netlogon\batch wird eine Routine Start.cmd mit folgendem Inhalt angelegt:

@echo off
cls
echo Startskript wird durchgefuehrt ...
if exist c:\windows\system32\su.exe goto WEITER
copy \\s1\netlogon\util\su.exe c:\windows\system32\su.exe /y
copy \\s1\netlogon\util\suss.exe c:\windows\system32\suss.exe /y
suss.exe –install
:WEITER

Der Parameter /y hinter dem copy-Befehl stellt sicher, dass eine bereits vorhandene Datei überschrieben wird, ohne dass um eine Bestätigung gebeten wird. Der Befehl suss · install installiert den SU-Dienst als automatisch zu startenden Dienst. Sie können weitere copy-Befehle anhängen, um über diese Routine andere Tools in den Suchpfad %SystemRoot%\system32 der Clients einzuspielen.

Als Nächstes erzeugen Sie mit dem Snap-In Active Directory-Benutzer und –Computer eine neue OU Computer und verschieben den Windows-XP-Client dorthin. Jetzt erstellen Sie für die neue OU Computer eine Gruppenrichtlinie: Sie stellen die Maus auf die OU Computer, klicken die rechte Maustaste und wählen Eigenschaften, dann die Registerkarte Gruppenrichtlinien und die Schaltfläche Neu. Als Namen für die neue Gruppenrichtlinie vergeben Sie Install. Wählen Sie nun die Schaltfläche Eigenschaften und dort Benutzerdefinierte Konfigurationseinstellungen deaktivieren. Da diese Richtlinie nur für Computer genutzt wird, jedoch keine Einstellungen für Benutzer in dieser Richtlinie vorgenommen werden, kann die Abarbeitung der Richtlinie beschleunigt werden, wenn diese Option markiert wird.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Über die Schaltfläche OK verlassen Sie die Eigenschaften und wählen sofort Bearbeiten, um ein Startskript für alle Computer zu aktivieren, die in dieser OU Computer liegen. Wählen Sie dafür unter Computerkonfiguration · Windows-Einstellungen · Skripts (Start/Herunterfahren) die Richtlinie Starten.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Geben Sie über die Schaltfläche Hinzufügen das Startskript \\s1\netlogon\batch\start.cmd an.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Sie müssen den Windows-XP-Computer unter Umständen zweimal neu starten, damit das Startskript ausgeführt wird, oder auf dem Client den Befehl gpupdate /force eingeben, damit die neue Gruppenrichtlinie nicht erst beim übernächsten Start des Clients übernommen wird. Über Gruppenrichtlinien aktivierte Startskripte werden ausgeführt, sobald der PC neu startet. Es muss sich niemand an diesem PC anmelden, damit das Startskript abläuft.

Das Startskript läuft im Rechtekontext System ab. Somit können beliebige Aktionen ausgeführt werden. Wenn Sie beobachten möchten, wie das Startskript abläuft, müssen Sie entweder die Zeile @echo off deaktivieren oder eine Echo-Zeile einbauen (echo Startskript wird abgearbeitet) und außerdem unter Computerkonfiguration · Administrative Vorlagen · System die Richtlinie Startskripte sichtbar ausführen aktivieren.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Beachten Sie bei der Erweiterung von Startskripten Folgendes: Da das Startskript auch ohne die Anmeldung eines Benutzers ausgeführt wird, sobald der Computer eine Verbindung zur Domäne aufgebaut hat, kann man in einem Startskript nicht die Variable %LOGONSERVER% verwenden.

Für das weitere Vorgehen benötigen Sie eine neue globale Sicherheitsgruppe local Admins oder Client Admins und eine unscheinbare Kennung, die in die Gruppe local Admins aufgenommen wird. Legen Sie die Sicherheitsgruppe local Admins und die Kennung Intel mit dem Passwort telin1 an. Die Kennung Intel wird in die Gruppe local Admins aufgenommen und erhält kein Exchange-Postfach.


Es versteht sich von selbst, dass Sie in einer Produktivdomäne eine andere Kennung als »Intel« und ein komplexes Kennwort für diese Kennung verwenden sollten. Wählen Sie eine Kennung, aus deren Namen nicht hervorgeht, wozu sie verwendet wird.


Die nächste Aufgabe besteht darin, dafür zu sorgen, dass die Domänengruppe local Admins in die lokale Gruppe der Administratoren aller Clients eingepflegt wird. Jeder Domänenbenutzer, der später in die Gruppe local Admins aufgenommen wird, kann alle Computer der Organisation administrieren, ohne zur Gruppe der Domänen-Admins zu gehören. Sie können also später alle Mitglieder des Benutzersupports in diese Gruppe einpflegen. Sie können aber auch andere Poweruser zumindest temporär in diese Gruppe aufnehmen.

Ein Beispielszenario soll die Möglichkeiten der Gruppe local Admins verdeutlichen: Sie haben ihre gesamte Anwendersoftware in der Freigabe \\s1\install auf dem Dateiserver abgelegt. Dort gibt es auch ein Verzeichnis \\s1\install\visio, auf das nur die Gruppe local Admins Leserechte hat. Die Anwendung Visio soll nur auf bestimmten Clients installiert werden. Ein Mitarbeiter, auf dessen PC bisher kein Visio installiert war, soll zukünftig mit Visio arbeiten. Es handelt sich um einen EDV-erfahrenen Mitarbeiter, dem Sie zutrauen, dass er sich Visio selbst installieren kann. Sie nehmen den Mitarbeiter in die Domänengruppe local Admins auf, rufen ihn an und bitten ihn, sich mit der Freigabe \\s1\install zu verbinden und das Setup aus dem Unterverzeichnis \\s1\install\visio zu starten. Sobald die Installation von Visio durchlaufen ist, entfernen Sie den Benutzer wieder aus der Gruppe local Admins. Dadurch entziehen Sie dem Benutzer wieder das Recht, Unterverzeichnisse der Freigabe \\s1\install zu sehen oder Anwendungen auf dem Client installieren zu dürfen.

Um die globale Gruppe local Admins der lokalen Gruppe Administratoren hinzuzufügen, benötigen Sie den Befehl net localgroup Administratoren »Company\local Admins« /add. Diesen Befehl nehmen Sie in die Routine \\s1\netlogon\batch\start.cmd mit auf:

@echo off
cls
echo Startskript wird durchgefuehrt ...
if exist c:\windows\system32\su.exe goto WEITER
copy \\s1\netlogon\util\su.exe c:\windows\system32\su.exe /y
copy \\s1\netlogon\util\suss.exe c:\windows\system32\suss.exe /y
suss.exe –install
net localgroup Administratoren "Company\local Admins" /add
:WEITER

Der Befehl su.exe hat folgende Syntax: su.exe Kennung <Befehl>

Der Befehl su.exe Intel %LOGONSERVER%\netlogon\cmd\xyz.cmd würde die Routine xyz.cmd mit allen in ihr enthaltenen Befehlen unter lokalen administrativen Rechten durchführen, weil die Kennung Intel Mitglied der globalen Gruppe local Admins ist und diese globale Gruppe wiederum ein Mitglied der lokalen Gruppe Administratoren. Jedoch würde der Befehl interaktiv zuerst nach dem Passwort der Kennung Intel fragen. Der Befehl echo telin1| su.exe intel %LOGONSERVER%\netlogon\cmd\xyz.cmd würde das Passwort telin1 zwar mit dem Umleitungszeichen an das Tool su.exe übergeben (beachten Sie, dass zwischen dem Passwort und dem Umleitungszeichen »|« kein Leerzeichen stehen darf!), jedoch wäre es ein Sicherheitsloch, wenn das Passwort der Kennung Intel in Klarschrift in einem Anmeldeskript stünde. Jetzt kommt »Trick 17 mit Selbstüberlistung«. Dieses Problem lässt sich nämlich prinzipiell ungefähr so lösen: Man erzeugt eine Batchroutine namens intel.bat mit folgenden Befehlen:

@echo off
cls
c:
cd\
if %1.==. goto ENDE
echo telin1| su.exe intel %1 /e /l
:ENDE

Zuerst sorgt die Routine dafür, dass in die Wurzel des Laufwerks C: gewechselt wird. Die Routine intel.bat wechselt ja später in den Sicherheitskontext des neuen Benutzers Intel. Der Kennung Intel sind jedoch das Laufwerk und der Pfad eventuell nicht bekannt, die zu dem Zeitpunkt aktiv sind, zu dem mittels su.exe in die Kennung Intel gewechselt wurde. Befindet sich der Benutzer, der sich anmeldet, in seinem Basisverzeichnis und sind für diesen Benutzer z.B. bestimmte Netzlaufwerke wohl definiert, so gilt dieses nicht zugleich für die Kennung Intel, zu der gewechselt wird. Wird aber vorher nach C:\ gewechselt, so steht auch die Kennung Intel im Verzeichnis C:\, sobald sie mittels su.exe aktiviert wird.

Die Zeile if %1.==. goto ENDE stellt sicher, dass su.exe nicht ohne Angabe eines Parameters gestartet wird. Der Parameter ist später die unter der Kennung Intel auszuführende Routine. Eine alternative Syntax wäre if »%1«==»« goto ENDE.

Die Parameter /e und /l in der Zeile, in der das Tool su.exe gestartet wird, sorgen dafür, dass der Kennung Intel die Umgebungsvariablen der aufrufenden Kennung übergeben werden. Damit kennt die Kennung Intel z.B. anschließend den Inhalt der Variablen %LOGONSERVER%. Das Passwort intel1 wird über das Umleitungszeichen »|« an das Tool su.exe übergeben, wobei zwischen dem Passwort und dem Umleitungszeichen kein (!) Leerzeichen stehen darf.

Lesen Sie in der Dokumentation des Resource Kits unter »Switch User« nach, welche Bedeutung die einzelnen Parameter haben. Machen Sie sich generell kundig, welche Möglichkeiten SU bietet.

Erscheint die Fehlermeldung CreateProcessAsUser error! (rc=3) beim Aufruf des SU-Tools, so deutet sie darauf hin, dass nicht in den Kontext des neuen Users gewechselt werden kann, weil die Umgebung, aus der gewechselt werden soll, für den neuen User nicht passt. Die zu Windows 2000 Server gehörende SU-Version verursachte allerdings nicht nur bei mir, sondern auch bei anderen Lesern der Erstauflage einige Probleme und diverse Fehlermeldungen wie z.B. Fehlermeldung »CreateProcessAsUser error! (rc=1780), An den Stub wurde ein Nullzeiger übergeben. In den Knowledge-Base-Artikeln 265401 und 821546 wird auf das Problem eingegangen. Außerdem wird auf eine neuere Version von SU hingewiesen, die allerdings nicht zum Download angeboten wird: »Contact Microsoft Product Support Services to obtain the fix.« Ich habe übrigens bisher erfolgreich mit dem alten SU-Tool aus dem Resource Kit von Windows NT 4.0 unter Windows XP gearbeitet.

In obiger Batchroutine lautet das Passwort der Kennung Intel telin1. In dieser Batchroutine steht das Passwort noch lesbar und könnte von einem pfiffigen Anwender missbraucht werden. Diese Batchroutine wandelt man mittels des Tools batcom.exe in eine exe-Datei um: batcom intel.bat.

Sie finden das Tool batcom auf der Buch-DVD im Verzeichnis NETLOGON\Util. In der so erzeugten Datei intel.exe kann man das Passwort nur noch mittels eines Hexeditors einsehen. Um noch mehr Sicherheit zu bekommen, verdichtet man die erzeugte exe-Datei mit einem Tool wie upx.exe, das Sie ebenfalls auf der Buch-DVD finden: upx intel.exe

Die mittels upx verdichtete Datei intel.exe lässt sich dann auch mit einem Hexeditor nicht mehr analysieren. Das so erzeugte Tool intel.exe kopiert man nach %LOGONSERVER%\netlogon\util.

Auf das Verzeichnis netlogon\util haben die Domänenbenutzer Leserechte. Auf dem Unterverzeichnis netlogon\util\batcom entzieht man allen Benutzern – abgesehen von den Domänen-Admins – die Rechte, so dass kein Anwender die ursprüngliche Routine intel.bat mit dem lesbaren Passwort telin1 einsehen kann.

Das neu generierte Tool intel.exe können Sie für alle möglichen Zwecke einsetzen. Der Befehl %LOGONSERVER%\netlogon\util\intel.exe %LOGONSERVER%\netlogon\cmd\test123.cmd im Anmeldeskript würde z.B. die Routine test123.cmd im Rechtekontext der Kennung Intel ausführen, also mit lokalen administrativen Rechten. In der Routine test123.cmd könnten z.B. Befehle stehen, die den Zweig HKEY_LOCAL_MACHINE in der Registrierdatenbank verändern oder neue Anwendungen installieren. Mit diesem mächtigen Werkzeug können Sie über das Anmeldeskript tun, wonach Ihnen der Sinn steht. Einige Beispiele sollen nachfolgend verdeutlichen, welche Möglichkeiten Ihnen ab sofort zur Verfügung stehen.


In einer Produktivumgebung sollten Sie aus Sicherheitsgründen einen anderen Dateinamen für die Routine intel.bat und für das daraus hervorgehende Tool intel.exe verwenden. Ebenso sollten Sie eine andere Kennung als die von mir beispielhaft vorgeschlagene Kennung »Intel« verwenden und für diese Kennung ein sehr sicheres Kennwort vergeben, denn Sie sind nicht der einzige Leser dieses Buches.


 << zurück
  
  Zum Katalog
Zum Katalog: Integrationshandbuch Microsoft-Netzwerk
Integrationshandbuch Microsoft-Netzwerk
Jetzt bestellen!
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und Lösungen
 für Microsoft-Netzwerke


Zum Katalog: Windows Server Longhorn






 Windows Server
 Longhorn


Zum Katalog: Small Business Server 2003 R2






 Small Business
 Server 2003 R2


Zum Katalog: SharePoint Portal Server 2003 und Windows SharePoint Services






 SharePoint Portal Server
 2003 und Windows
 SharePoint Services


Zum Katalog: Exchange Server 2003 und Live Communications Server






 Exchange Server 2003
 Live Communications
 Server


Zum Katalog: Praxisbuch Netzwerk-Sicherheit






 Praxisbuch
 Netzwerk-Sicherheit


Zum Katalog: VMware und Microsoft Virtual Server






 VMware und
 Microsoft Virtual Server


Zum Katalog: VMware Server und VMware Player






 VMware Server und
 VMware Player


Zum Katalog: Citrix Presentation <br /> Server 4






 Citrix Presentation
 Server 4


Zum Katalog: ITIL






 ITIL


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de