Windows 95/98 am Linux-Sever mit Samba

(oder am ods/c't-Server)

Dr. Bernd Kokavecz

BICS

Humboldt-Oberschule Berlin-Tegel

1. Windows NT - Workstations versus Windows 95/98

Da Windows 95 / 98 bei seinem Dateisystem grundsätzlich keine Zugriffsrechte besitzt, haben viele Schulen auf ihren Arbeitsplätzen, so sie nicht gleich Unix (Linux) -Workstations verwenden, Windows NT (Workstation) mit dem NT-Filesystem installiert. Bei statischen Installationen, wie man sie beispielsweise für den Informatikunterricht verwendet, läßt sich damit eine annähernd "schülersichere" Installation realisieren, wie man sie von Unix-Systemen her gewohnt ist. Wird die Anlage - wie an der Humboldtschule - jedoch von unterschiedlichen Fachbereichen temporär genutzt (Kunst, PW, Deutsch, Englisch, Musik) und steht der Rechnerraum auch den Schülern für die Nutzung von Lernsoftware (CD-ROMs) zur Verfügung, so ist der Systemverwalter ständig mit unzumutbaren Installationsaufgaben beschäftigt, wobei die Systeme immer langsamer und unzuverlässiger werden, je mehr Programme man einspielt.

2. Windows 95 mit "Linux Servicesystem"

Da auf allen Arbeitsplätzen der Humboldtschule grundsätzlich auch Linux installiert und genutzt wird und diese Installation seit 1 1/2 Jahren keinerlei Probleme bereitet, ist die Idee entstanden, die Linuxinstallation jeweils als "lokales Service-System" für die schwer zu wartenden dynamischen Windows95-Installationen zu verwenden. Windows 95 könnte dann fast ohne Einschränkungen Schülern und Lehrern zur Verfügung stehen, und bei Problemen wird dann einfach von der Linux-Ebene der Workstation aus eine Sicherheitskopie der ursprünglichen Windows-Installation auf die entsprechende "Windows-Partition" überspielt. Der Vorgang ist so automatisiert, daß nach dem Linux-Login als "ruth" der Vorgang ohne weitere Eingriffe abläuft. Die Restaurierung dauert je nach Installationsumfang 3 bis 5 Minuten .

Auch bei der Erstinstallation wurde ein entsprechendes Verfahren benutzt: Nachdem ein Windowsrechner optimal eingerichtet war, wurde unter Linux das "Windows-95-Image" (win95.tgz) per nfs auf allen anderen (fast baugleichen) Rechnern ausgepackt. Nach Änderung des Rechnernamens (2x) und der IP-Adresse (1x) waren alle Rechner dann unter Windows 95 lauffähig. Selbst bei geringfügiger Hardwareabweichung waren dank Plug&Play schnell die fehlenden Treiber nachinstalliert. Zur Vorbereitung dieser Installation war die entsprechende Partition lediglich für Windows 95 zu formatieren (Windows 95 Notfall-Boot-Diskette: format c: /s). Nach den Anpassungsarbeiten wurde dann auf jedem Rechner unter Linux ein endgültiges lokales Image der Windowsinstallation gespeichert.

3. Windows-NT-Server versus Linux - Server mit Samba

Die Entscheidung, die Windows-Arbeitsplätze an einem Linux-Server zu betreiben und keinen NT-Sever zu verwenden, ist nicht nur deshalb gefallen, weil an der Humboldtschule in der Informatik ausschließlich unter Unix (Linux) gearbeitet wird. Es hat sich gezeigt, daß eine vernünftige Benutzerverwaltung unter NT bei ständig hinzukommenden und wieder abgehenden Lerngruppen äußerst komplex und umständlich ist. Eine der Ursachen liegt darin begründet, daß standardmäßig jeder neueingerichtete Benutzer Maximalrechte besitzt. Mit den so (unkonfigurierten) von den Firmen üblicherweise ausgelieferten Anlagen funktionieren zwar die installierten Programme, aber das System ist dann vor Schülermanipulationen zumeist ungeschützt.

Für einen Unix-Server (Linux), der mit Hilfe des samba-Paketes die wichtigsten Funktionen eines NT-Servers mitübernimmt, sprechen u.a. folgende Vorteile:

· einfache, übersichtliche Benutzerverwaltung mit automatischer Vergabe von Minimalrechten

· komfortable Systemverwaltung durch Multiuserfähigkeit

· funktionierende Mailserver-Funktion incl. Kopplung über uucp

· ISDN-Internetzugang, Proxy-Server- und Firewall-Funktion ohne zusätzliche Hardware

· schnelles, zuverlässiges, ausgereiftes und offenes System

· geringe Hardwareanforderungen

· kostenlos (Betriebssystem und viele Unix-Anwenderprogramme)

4. Installationshinweise für den Linux-Server

Im vorliegenden Fall wurde eine Linuxdistribution von SuSE verwendet. Sicher kann man auch den c't (ods) - Server verwenden.

Sollen die Schüler nur unter Windows arbeiten, so gestaltet sich die Linux-Installation sehr einfach, das Grundsystem mit Netzwerk genügt. Ggf. sind sendmail oder smail, der pop3-Server und der ISDN-Zugang einzurichten.

Nachfolgend werden die Installationsarbeiten auf dem Linux-Server im Zusammenhang mit Windows-95-Clients erläutert. Bei der Linux-Installation ist darauf zu achten, daß im Netzwerkbereich SAMBA mitinstalliert wird.

Die Konfigurationsdatei von samba:

(/etc/smb.conf oder /etc/samba/smb.conf)

==========================================

# Es gibt ein Problem mit Samba und NT 4.0 und langen Dateinamen unter Win95.

# Wenn nur NT verwendet wird, dann nachfolgendes auskommentieren

# protocol = LANMAN2

[global]

workgroup = WORKGROUP

printing = bsd

printcap name = /etc/printcap

load printers = yes

guest account = nobody

; This next option sets a separate log file for each client. Remove

; it if you want a combined log file.

log file = /var/log/samba.log.%m

keep alive = 30

os level = 2

logon script = scripts\%U.bat

; You will need a world readable lock directory and "share modes=yes"

; if you want to support the file sharing modes for multiple users

; of the same files

lock directory = /usr/lib/samba/var/locks

domain logons = yes

security=user

wins support = yes

; Der nachfolgende Eintrag beschert dem jeweiligen User einen Eintrag

; mit seinem Namen, in dem sich sein Homeverzeichnis befindet. (GUT!)

[homes]

comment = Heimatverzeichnisse

browseable = no

guest ok = no

read only = no

create mode = 0755

[whp6]

comment = Laserdrucker

guest account = lp

browseable = yes

printable = yes

public = yes

path = /usr/spool/whp6

readonly = true

[software]

comment = DOS-Programme

path = /usr2/dos0

read only = yes

public = yes

browseable = yes

[html]

comment = HTML

path = /usr2/home/html

read only = yes

public = yes

browseable = yes

[floppy]

comment = Laufwerk a:

path = /usr2/dos0/floppy

read only = yes

public = yes

browseable = yes

[cdrom]

comment = CD-Laufwerk

path = /usr2/dos0/cdrom

read only = yes

public = yes

browseable = yes

[netlogon]

path = /usr2/public/dos/netlogon

writeable = no

guest ok =no

; ============================== ENDE SAMBA ==========================

Im netlogon-Verzeichnis (hier:/usr2/public/dos/netlogon) wird ein Unterverzeichnis scripts angelegt. In diesem Unterverzeichnis erhält jeder Benutzer bei der user-Einrichtung eine eigene Startdatei, die ihm als Heimatverzeichnis auf dem Server das Laufwerk H: zuordnet. Außerdem liegt dort die für alle zuständige Datei univers.bat. Achtung: Diese Dateien mit einem Windows-Editor als Textdatei erzeugen (CR/LF) und dann in das o.a. Linuxverzeichnis kopieren!

Beispiel: Benutzer xkoka hat die Datei xkoka.bat in

/usr2/public/dos/netlogon/scripts

=======================================

echo hallo

net use h: \\hmbldt\xkoka

\\hmbldt\netlogon\scripts\univers.bat

echo hallo

Das script univers.bat:

========================

echo hallo

rem Ausgabe des "Windows"- Motto des Tages

write \\hmbldt\software\appl\motd.txt

rem Zuweisung einiger Laufwerke auf smb-Freigaben

net use s: \\hmbldt\software

net use i: \\hmbldt\html

net use f: \\hmbldt\floppy

net use r: \\hmbldt\cdrom

echo hallo

=================================================================

In /usr2/public/dos/netlogon liegt außerdem die mit dem Policy-Editor erzeugte Datei config.pol. Sie trägt die Systemeinstellungen für den Standardbenutzer usw. (siehe unten).

=================================================================

Bei der Einrichtung eines neuen Benutzers sind für den Windows 95 - Betrieb folgende Dateien in sein Heimatverzeichnis zu kopieren:

Datei: user.dat

Verzeichnis: desktop (mit Inhalt)

Verzeichnis: recent

Verzeichnis: netzwerkumgebung

Bei Verwendung meines Administrationstools "schooladmin" läßt sich der Vorgang automatisieren.

user.dat kann in user.man umbenannt werden, wenn die Systemeinstellungen für den Benutzer fest bleiben sollen.

Die Dateien werden aus dem Heimatverzeichnis eines Beispielbenutzers "geklaut", bei dem man seine Mustereinstellungen (Bildschirm usw.) festlegt. Beim ersten Login dieses Beispielbenutzers werden die entsprechenden Dateien automatisch in seinem Heimatverzeichnis angelegt.

5. Einrichtung des Linux-Servicesystems auf den Arbeitsplätzen (Dual-Boot)

(Beim Anmelden von ruth wird Win95 restauriert)

Die Installation des hier beschriebenen Service-Systems setzt voraus, daß auf den Arbeitsplätzen neben Windows 95 auch Linux installiert wird. Selbstverstaendlich können alle Samba- und Windows-Konfigurationsangaben, die im übrigen Artikel beschrieben werden, auch ohne diese Linux-Installation auf den Schülerplätzen durchgeführt werden. Soll die lokale Linux-Installation nur für das Service-System erfolgen, genügt eine einfachste Minimalinstallation ohne X11 usw. Von Vorteil (für ein netzweites Verteilen eines Images) ist allerdings die Einrichtung des Netzwerks auch unter Linux.

Statt ein Tar-Archiv für die Win 95 - Sicherung zu verwenden, kann man auch mit Hilfe von dd ei-

ne Sicherung durchführen, die vermutlich dann auch die Systemdateien mit rettet!

Beim Anmelden von ruth wird Win95 restauriert:

Hier der Kopf von /etc/passwd. Die 2. Zeile ist eingefügt.

=========================================================

root:x:0:0:root:/root:/bin/bash

ruth:x:0:0:root:/root/ruth:/bin/bash

bin:x:1:1:bin:/bin:/bin/bash

Hier die entsprechende Ergänzung für ruth in der /etc/shadow

===============================================================

root:D.wJF4Nm/5Kz.:10137:0:10000::::

ruth:D.wJF4Nm/5Kz.:10137:0:10000::::

bin:*:8902:0:10000::::

Das Heimatverzeichnis von ruth ist /root/ruth (/mkdir /root/ruth). In diesem Verzeichnis sind 3 Dateien und ein ggf. erzeugtes Win95.tgz - Image.

a) Datei: .profile

==========================

/root/ruth/w95neu_install

/sbin/halt

b) Datei: make_image (wird ggf. von root in /root/ruth manuell aufgerufen)

=======================================================

mount -t vfat /dev/hda1 /mnt

cd /

mv /root/ruth/win95.tgz /root/ruth/win95.tgz.old

tar -cvzf /root/ruth/win95.tgz /mnt

cd

umount /mnt

echo habe alte Version des Tar-Archivs umbenannt in win95.tgz.old

echo habe neues Image win95.tgz angelegt

c) Datei: w95neu_install

==========================

mount -t vfat /dev/hda1 /mnt

cd /

rm -r /mnt/*

tar -xvzf /root/ruth/win95.tgz

cd

umount /mnt

6. Installationshinweise für die Windows95 Arbeitsplätze

Nach der Standardinstallation ist das Netwerk einzurichten. Mit dem Erkennen der Netzwerkkarte sind automatisch auch verschiedene Dienste eingerichtet. Hier muß einiges geändert werden.

Öffnen Sie über die Systemsteuerung die Karteikarten für "Netzwerk".

Es müssen folgende Netzwerkkomponenten installiert sein:

· Client für Microsoft Netzwerke

· NE2000 kompatibles Gerät oder eine andere Netzwerkkarte

· NetBEUI

· TCP/IP

· Datei und Druckerfreigabe für Microsoft Netzwerke

Entfernen Sie alle anderen Komponenten (z.B. Komponenten für Netware) und installieren Sie die anderen Komponenten nach. Beispiel TCP/IP :

HINZUFÜGEN --> PROTOKOLL --> MICROSOFT --> TCP/IP

Nun werden die Eigenschaften der 5 installierten Komponenten eingestellt:

CLIENT --> EIGENSCHAFTEN -->

Ankreuzen: An Windows NT-Domäne anmelden

Eintragen: WORKGROUP (für Windows-NT-Domäne)

Nicht "schnelle Anmeldung...", sondern "Anmelden und Verbindung ..." aktivieren

NETZWERKKARTE --> EIGENSCHAFTEN muß richtig installiert sein

NETBEIUI keine Konfiguration nötig

TCP/IP --> EIGENSCHAFTEN

--> IP-Adresse

IP-Adresse festlegen, wenn kein dhcp-Server arbeitet. Als IP-Adressen sollten Sie benutzen:

192.168.10.10 192.168.10.11 usw

Die Subnetmask muß 255.255.255.0 sein

--> WinS-Auflösung aktivieren. Erster WinS-Server 192.168.10.1 (Adresse des Linux-Servers)

Zweite WinS-Adresse leer lassen!

--> Gateway Adresse des Rechners mit der ISDN-Karte hinzufügen

--> DNS aktivieren, Host: Rechnername, Schuldomäne eintragen

Suchreihenfolge für DNS-Server:

194.95.246.252 für Winshuttle-Zugang hinzufügen

--> NETBUI keine Konfiguration erforderlich

--> ERWEITERT als Standardprotokoll markieren

--> Bindungen sind bereits eingetragen (2x)

--> Datei und Druckerfreigaben sind bereits eingetragen

OK

======================================================================

In der Systemsteuerung klicken Sie auf Schlüsselwörter

--> Remote-Administration aktivieren und ein Kennwort eingeben (2x)

--> Benutzerprofile aktivieren: "Benutzer können die Vorgaben und Desktop......."

Einstellungen für Benutzerprofile: Desktop-Symbole : ja

Startmenü: nein

=======================================================================

Nun richten Sie für den Telnetbetrieb eine Hosts-Datei im Verzeichnis c:\windows ein:

Datei c:\windows\hosts:

192.168.10.1 hmbldt

======================================================================

Rufen Sie nun das Programm "regedit" auf, und exportieren Sie die gesamte Registry in eine beliebige Textdatei. Kopieren Sie diese Datei auf eine Diskette. Sollten Sie sich bei den nachfolgenden Arbeiten aus dem Windows-System "aussperren" (es gibt leider keinen expliziten Windows-Systemverwalter mit allen Rechten), so können Sie den Rechner mit der Notfall-Bootdiskette für Windows 95 starten und das auf der Diskette vorhandene Programm regedit starten, um diese Registrysicherheitskopie wieder einzuspielen (zu impotieren).

Haben Sie das Linux-Service-System installiert, so können Sie schon mal ein Image erzeugen, das Sie bei Problemen wieder einspielen können.

=======================================================================

Nun rufen wir den Policy-Editor auf, um einige zusätzliche und spezielle Systemeinstellungen vorzunehmen. Diesen Editor finden Sie auf der Windows-CD unter

d:\admin\apptools\poledit\poledit.exe (bei Win95)

d:\tools\reskit\netadmin\poledit.exe (bei Win98)

Microsoft empfiehlt, das Programm nicht auf den Rechnern zu installieren, da sonst die Benutzer die folgenden Einstellungen u.U. rückgängig machen können. Da wir an den Schulen aber mit e-mail arbeiten, ist dies auch kein Schutz, da selbst bei gesperrten Laufwerken die Schüler auf diesem Wege an das Programm herankommen können.

Starten Sie also poledit (den Systemrichtlinieneditor) am besten direkt von der CD. Es wird Ihnen die Vorlage admin.adm als Vorlage angeboten. Öffnen Sie diese.

Nun wählen Sie Datei --> Registrierung öffnen , um die lokale Registry direkt zu bearbeiten. Mit einem Doppelklick (DKl) auf "lokaler Computer" erhalten Sie den Zugang zu wichtigen Einstellungen. Tragen Sie zunächst nur die folgenden Merkmale ein:

Netzwerk (DKl) , Anmeldung (DKl): Punkt2 markieren (Netzwerkbestätigung für Windows-Zugriff fordern). Mit dieser Markierung verhindern Sie, daß ein Benutzer den Windows-Rechner ohne Anmeldung am Linux-Server benutzen kann. Es wird das Umgehen des Login-Fensters mit ESC verhindert!

Kennwörter (DKl): Punkt 2 markieren (Kennwortverschlüsselung deaktivieren). Microsoft meint damit, daß das Speichern der (verschlüsselten) Kennwörter auf der lokalen Maschine abgeschaltet wird. (Schüler kennen Programme zum Entschlüsseln dieser lokal gespeicherten Kennwörter, die ja auch den Zugang zum Linux-Server erlauben!)

Ggf. können Sie auch noch unter "Freigabe" (DKl) verhindern, daß Dateien oder Drucker von den Schülern freigegeben werden.

Für den lokalen Benutzer kann man auch Einschränkungen vornehmen, die ich aber nicht genutzt habe.

Nun die Eintragungen abspeichern (Datei --> speichern).

Nun Datei --> neu wählen. Sie erhalten einen Standardbenutzer und einen Standardcomputer angezeigt. Sinnvoll ist es für den Standardbenutzer weitere Einschränkungen einzutragen (z.B. zur Verhinderung von neuen Farbeinstellungen usw.) Das graue Kästchen sagt: Die vorhandenen Einträge in der Registry werden vom Standardbenutzer nicht verändert, der Haken aktiviert die Einschränkungen, das weiße Feld deaktiviert ggf. vorgesehene Einschränkungen.

Nun drücken Sie oberhalb der Menüleiste auf den einzelnen Kopf und geben als Namen Ihren login-Namen an. Schalten Sie hier alle Flächen auf weiß, damit Sie mehr Rechte als der Standardbenutzer haben. Nun gehen Sie auf Datei --> Speichern unter .. und legen in Ihrem Heimatverzeichnis auf dem Server eine Datei mit dem Namen config.pol an.

Melden Sie sich nun als root auf dem Linux-Server an, und verschieben Sie diese Datei in das Verzeichnis /usr2/public/dos/netlogon.

======================================================================

Die hier beschriebenen Konfigurationsarbeiten müssen Sie nur auf einem Rechner durchführen, wenn Sie das oben beschriebene Service-System einrichten und ein entsprechendes Image über das Netzwerk verteilen.