Windows <-> Linux Vernetzung
von Klaus Knopper (klaus.knopper@unix-ag.org)

In diesem Vortrag geht es um die frei erhältliche SAMBA-Software, die das Exportieren und Importieren von Verzeichnissen, Festplatten und Druckern an Windows-Clients ermöglicht. Es wird auch kurz auf Emulatoren wie WINE eingegangen, die die Ausführung von Windows-Programmen unter Intel-Linux ermöglichen.

Zusammenfassung
Auch in Umgebungen, in denen die Benutzer noch auf unter MS-Windows(TM) laufende Software angewiesen sind, verbreiten sich lokale Netzwerke mit oder ohne Verbindung zum Internet in immer größerem Umfang. Diese sogenannten Intranets, die auf dem Client/Server-Konzept basieren, werden häufig durch sehr kostspielige und arbeitsaufwendige kommerzielle Software realisiert. In diesem Vortrag wird die frei erhältliche Alternative SAMBA als Server-Software vorgestellt, die unter unter Linux und anderen Unix-Betriebssystemen eine hervorragende Stabilität und Performance bietet.

Client/Server Systeme



Abbildung 1: Ein übliches Intranet

Der Sinn eines Intranet ist es, auf schnelle und unkomplizierte Weise Daten zwischen Rechnern auszutauschen, auf gemeinsame Projekte zuzugreifen und Soft- und Hardware eines Server-Systems von den Clients aus nutzen zu können. Hierbei spielt auch der Kostenaspekt eine Rolle, da die für den Server gekaufte Hardware wie Festplatten, Drucker, CD-Roms etc. auf einfache und transparente Weise von allen Clients im Netz genutzt werden kann, ohne daß für jeden einzelnen Rechner Hardware-Updates vorgenommen werden müssen.

Hauptanwendungsgebiete:

Voraussetzungen für den Einsatz eines Linux-Rechners als LAN-Server

SAMBA-Konfiguration

Es folgen einige Ausschnitte aus der Konfigurationsdatei für den SAMBA-Dämon smbd, smb.conf.

Globale Einstellungen

    ; Configuration file for smbd.
    [global]
    allow hosts = weibull pearson gumbel gauss borg
    security    = user
    printing    = hpux
    ; Printcap für lokale und remote Drucker
    printcap name = /usr/local/samba/lib/printcap
    browseable  = yes
    log file    = /usr/local/samba/log.%m
Bedeutung: Die Rechner weibull, pearson, gumbel, gauss und borg dürfen auf den SAMBA-Server zugreifen, alle anderen Rechner werden von vornherein abgwiesen. Eine Autorisation erfolgt auf Benutzerebene (ein Unix-Account pro Benutzer ist anzulegen). Es wird das HPUX-Printspooling verwendet, wofür eine eigene printcap-Datei verwendet wird, in der nur die Druckernamen eingetragen sind. Es soll eine von Client abfragbare Auswahlliste erzeugt werden. Zugriffe werden in Logdateien registriert, die den zugreifenden Rechner im Dateinamen enthalten.

Benutzer-Homedirectories

    [homes]
    public      = no
    comment     = Home Directories
    read only   = no
    create mode = 0770
Bedeutung: Die einzelnen Benutzerverzeichnisse sind nur für den mit seinem Paßwort autorisierten Benutzer sichtbar, in der Browse-Liste erscheinen sie als "Home Directories", der angemeldete Benutzer darf in sein Homedirectory schreiben, angelegte Dateien sind les- schreib- und ausführbar für den Besitzer und die Gruppe.

Drucker

    [printers]
    public        = no
    comment       = All Printers
    browseable    = no
    printable     = yes
    path          = /tmp
    create mode   = 0700

    [hplj4]
    print command = /usr/local/samba/scripts/printhp.sh %p %s
    comment       = HP Laserjet IV
    browseable    = yes
    printable     = yes
Bedeutung: Die exportierten Drucker sind nur für mit Paßwort angemeldete Benutzer sichtbar, dieser Abschnitt erzeugt keinen Eintrag in der Browse-List. Temporärdateien werden im Verzeichnis /tmp les- und schreibbar nur für den Druckerspooler angelegt. Für den Drucker hplj4 wird für jeden Druckauftrag ein Shellscript mit dem Namen printhp.sh gestartet (dieses kann beispielsweise ghostscript aufrufen, wenn eine Postscript-Datei auf einem nicht-postscriptfähigen Drucker gedruckt werden soll), welches als Parameter den Druckernamen und die zu druckende Temporärdatei übergeben bekommt. Der Drucker erscheint im Browser als "HP Laserjet IV" und ist zum Drucken bereit.

Tapes und Public-Verzeichnisse

    [tape]
    public    = no
    comment   = HP DAT Laufwerk
    read only = no
    ; Verzeichnis enthält Softlinks auf /dev/rmt*
    path      = /usr/local/samba/export/tape

    [soft]
    public    = no
    comment   = Public Software zum Installieren
    read only = yes
    path      = /usr/local/samba/export/soft
Bedeutung: Es wird ein Verzeichnis mit Softlinks auf die Streamer-Gerätedateien exportiert. Mit Paßwort autorisierte Benutzer dürfen lesend und schreibend darauf zugreifen. Das Verzeichnis wird als "HP DAT Laufwerk" im Browser des Client angezeigt.

Ein Verzeichnis "soft" wird - im Browser des Client als "Public Software zum Installieren" angezeigt und nur-lesbar an alle Benutzer exportiert, die sich mit Paßwort anmelden können.

Projektverzeichnisse

    [h21]
    path = /usr/local/projekte/H21
    comment = Projektverzeichnis H21
    public = no
    ; Zugriff nur für Unix-Gruppe H21
    valid users = @H21
    read only = no
    create mode = 0770
    ; Neue Dateien bekommen automatisch Unix-Gruppe H21
    force group = H21
Bedeutung: Das Unix-Verzeichnis /usr/local/projekte/H21 wird unter dem Namen "Projektverzeichnis H21" exportiert, es dürfen nur mit Paßwort autorisierte Benutzer zugreifen, die Mitglied der Unix-Gruppe "H21" sind. Legen diese Benutzer neue Dateien an, werden diese automatisch mit der Unix-Gruppe H21 und den Berechtigungen zum Lesen und Schreiben nur für Mitglieder dieser Gruppe angelegt.

Anzeigen und Benutzen der vom SAMBA-Server exportierten Dienste unter Windows

Abbildung 2: Die SAMBA-Shares als Browselist

Befindet sich der SAMBA-Server im gleichen Netzwerksegment wie die Client-PCs, so werden die vom SAMBA-Server exportierten Dienste nach kurzer Zeit unter der "Netzwerkumgebung" auf den Windows-Clients sichtbar. Eine Benutzer/Paßwortabfrage erfolgt entweder schon bei der Anmeldung unter Windows oder beim Zugriff auf ein Verzeichnis, für das betimmte Rechte notwendig sind.

Werden die exportierten Verzeichnisse und Drucker nicht angezeigt, so kann unter "Netzlaufwerk verbinden" im Explorer unter Angabe des freigegebenen Verzeichnisses (Syntax: \\SERVERNAME\VERZEICHNIS) zugegriffen werden.

Abbildung 3: Die SAMBA-exportierten Drucker als Browselist

Das Einrichten von SAMBA-exportierten Netzwerkdruckern erfolgt unter Windows wie gewohnt durch Klick auf "Neuer Drucker", Angabe des Typs "Remote-Drucker" und Eintragen des gewünschten Druckers (Syntax: \\SERVERNAME\DRUCKERNAME) oder Anklicken des Druckers in einer Browse-Liste.

Zentrales Backup vom Server aus

Durch die Freigabe von Laufwerken auf den Client-PCs lassen sich zentrale Backups vom SAMBA-Server (oder einem beliebigen Unix-Rechner, auf dem die SAMBA-Clients installiert sind) ausführen.

Vorgehen:


WWW-Links

SAMBAhttp://samba.anu.edu.au/samba/
DosEmuhttp://sunsite.unc.edu/LDP/HOWTO/DOSEMU-HOWTO.html
WINEhttp://www.winehq.com/

Newsgroups

SAMBA Newsgroupnews:comp.protocols.smb
WINE Newsgroupnews:comp.emulators.ms-windows.wine