Linux-Arbeitskreis Hamburg

SAMBA

Grundlagen

Samba ist eine Implementation des SMB-Protokolls, welches von Windows verwendet wird, für UNIX-Rechner (und für NetWare 4.x). Die Informationen zu Samba findet auf verschiedene Dateien verstreut in /usr/doc/packages/samba im englischen Original.

Samba wird sehr intensiv weiterentwickelt. Dadurch gibt es immer mal wieder Versionen, die nicht ganz stabil sind. Solche Probleme tauchen auch mit der Version auf, die bei S.u.S.E. 5.0 / 5.1 mitgeliefert wird. Daher sollte zuerst ein Update auf die aktuellste Version  erfolgen.

Installation bzw. Update

Auf dem Hamburger Bildungsserver liegt die vorbereitete aktualisierte Samba-Version (nur für S.u.S.E. 5.0/5.1). Diese Datei legt man im Verzeichnis /tmp ab, wechselt in dieses Verzeichnis und versucht die Datei mittels:

tar xvfz smb-18p2.tgz zu entpacken.

Falls alles geklappt hat, kann man die aktuelle Samba-Version deinstallieren. Dazu geht man folgendermaßen vor:

  /sbin/init.d/smb stop
  cp /etc/smb.conf   /etc/smb.org
  rpm -e samba
  cd /
  tar xvfz /tmp/smb-18p2.tgz
  cp /etc/smb.org  /etc/smb.conf
  /sbin/init.d/smb start

Danach ist dann die neue Version aktiv und wir können im Verzeichnis /tmp die angelegten Verzeichnisse und Dateien wieder löschen.

Diese Beschreibung gilt nur für S.u.S.E.-Versionen ab 5.0, da vorher der Redhat-Package Manager (rpm) nicht für die Paketinstallation zuständig war. Bei älteren Versionen muß man Samba mit Yast deinstallieren.

Server-Konfiguration

Das SAMBA-Paket besteht aus folgenden Dateien:
/usr/sbin/smbd Dies ist die Binärdatei, die den eigentlichen -Server bildet.
/usr/sbin/nmbd Dies ist das Programm, das den Clienten NetBIOS Namensdienste zur Verfügung stellt.
/sbin/init.d/smb Dies ist das Start/Stop - Script, das von YAST bei der Konfiguration aktiviert wird und sowohl smbd, als auch nmbd startet.
/etc/smb.conf Die Konfigurationsdatei des SAMBA-Paketes
/usr/bin/smbmount  
/usr/bin/smbumount  
/usr/bin/testparm  
/usr/bin/testprns  
/usr/bin/smbclient  
   
   

 

Domain-Logon und Login-Skripts

  1. Man legt in /etc/smb.conf eine Freigabe namens netlogon an, die etwa so aussieht:
    [netlogon]
    path = /home/dos/netlogon
    writeable = no
    write list = @admin
  2. Man aktiviert im Abschnitt [global] der smb.conf Domänen-Logons und -Skripte
    domain logons=yes
    logon script=scripts/default.bat
  3. Man startet mit
    /sbin/init.d/smb stop
    /sbin/init.d/smb start

    den smbd und den nmbd neu.
  4. Man schreibt eine Datei ins Verzeichnis /home/dos/netlogon/scripts, die den Namen default.bat trägt und z.B. wie folgt aussieht:
    @echo off
    echo Willkommen im Linux-Land!!!
    net use u: \\boss\homes
  5. Man behandelt diese mit unix2dos, damit diese DOS-Zeilenendungen (CRLF statt LF) bekommt. (alternativ hätte man sie auch gleich unter DOS schreiben können... mit unix2dos ist es aber bequemer)

Client-Konfiguration

Linux-Rechner als Klienten erfordern Kernel-Unterstützung des SMB-Dateisystems und das Mountprogramm smbmount. Die weitere Beschreibung bezieht sich nur auf WfWg/Win95/Dos.

Bei der Client-Konfiguration darf man nicht vergessen, TCP/IP als Defaultprotokoll zu installieren. Bei Problemen in der Art, daß zuwenig Speicher vorhanden sein soll (auf WfWg-Rechnern mit 4MB) hilft es, die anderen Protokolle wie NetBEUI und IPX herauszuschmeißen.

Wichtig: Als WINS-Server muß man den Linux-Server eintragen. Dies beschleunigt die Namensauflösung (etwa beim 'Netzlaufwerk verbinden'-Dialog) erheblich, da dies sonst mit Broadcasts gemacht wird. Der WINS-Server ist auch wichtig, wenn die Klienten über mehrere Subnetze verstreut sind, weil dann die Broadcasts nur das jeweilige Teilnetz finden.

Einführung in den net-Befehl des MS-Lanman-Client

Der net-Befehl führt, wenn man ihn ohne Parameter aufruft, zu einem netten Menü ähnlich dem des Windows-'Netzlaufwerk verbinden'-Dialogs. Allerdings wird man den Befehl oft nicht-interaktiv mit Parametern aufrufen. Derer sind hier ein paar aufgelistet:

net view \\boss
zeigt alle Freigaben des Rechners boss.
net use f: \\boss\pub
mountet die Freigabe pubdes Rechners boss als Laufwerk F:
net use f: /del
löst die Verbindung von f: wieder
net use LPT2 \\boss\lp
verbindet den lokalen Druckerport mit dem Drucker lp am Rechner boss
net logon lukas geheim123
loggt einen als Lukas mit dem Paßwort geheim123 ein. Alternativ:
net logon lukas
wie oben, fragt dann nach dem Paßwort.
net time \\boss /set /yes
holt die aktuelle Uhrzeit vom Server boss und setzt sie als lokale Zeit.
net help
zeigt die Hilfe an. Es empfiehlt sich allerdings net help | more, da es eine ganze Menge Text ist.
 

Was sind Passwortlisten?

Ein halbwegs normaler Mensch wird sich sicher wundern, was in aller Welt nun Paßwortlisten sind, vor allem, weil der LanMan-Client immer fragt, ob er das Paßwort in der Paßwortliste speichern soll. Diese Dinger rühren vom Peer-to-Peer-Konzept von Windows für Workgroups her und sind meines Wissens nicht totzukriegen.

In einer Paßwortliste sind alle Paßwörter eines Benutzers verschlüsselt gespeichert. Wenn nun der Benutzer eine Ressource anfordert und ein Paßwort braucht, so wird dieses Paßwort aus der Paßwortliste gesucht. Die Paßwortliste ist natürlich durch ein Paßwort geschützt, so daß nur jemand mit diesem Paßwort die Paßwortliste benutzt (es ist allerdings auch so, daß man, hat das Kennwort seiner Paßwortliste nicht, als der betreffende Benutzer nicht eingeloggt wird. Toll nicht?!) Die Passwortlisten tragen die Endung .pwl und liegen im selben Verzeichnis wie net.exe. Dies muß man wissen, falls man an einem anderen Rechner als dem normalerweise benutzten das Paßwort ändert. Wenn man dann wieder am normalen Rechner sitzt und an die passwortgeschützten Laufwerke heranwill, versucht net.exe es mit dem alten Passwort, da es von dem neuen nichts weiß.

Falls es Probleme mit den Passwortlisten gibt, vor allem nach einer Änderung des Passwortes sollte man einfach seine lokale Passwortliste löschen, sie heißt <username>.pwl.


Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt von Uwe Debacher, letzte Änderung am