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.