home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxde
/
slxde-07.txt
< prev
next >
Wrap
Text File
|
2000-02-29
|
18KB
|
417 lines
Kapitel 7
Tanze Samba mit mir ...
Mit dem Programmpaket Samba des Australiers ANDREW TRIDGELL kann
ein beliebiger Unix-Rechner zu einem leistungsfΣhigen File- und Printserver
fⁿr DOS- und Windows-Rechner ausgebaut werden. Seit Beginn der Entwick-
lung 1991 hat sich Samba zu einem sehr stabilen und portablen Produkt ent-
wickelt, das seinen festen Platz in Unternehmen eingenommen hat und dort
als ErgΣnzung zu oder sogar als Ersatz fⁿr Novell NetWare- oder Windows
NT-Servern eingesetzt wird.
7.1 Einfⁿhrung
Samba ist inzwischen ein sehr komplexes Produkt. An dieser Stelle kann
daher keine vollstΣndige Darstellung aller M÷glichkeiten erfolgen, son-
dern nur ein kleiner Einblick ⁿber die FunktionalitΣt. Im Verzeichnis
/usr/doc/packages/samba sind viele Dokumente zu finden, anhand
derer man auch komplexe Netzkonfigurationen aufbauen kann. Die Referenz
zur Konfigurationsdatei von Samba ist in der Manual-Page von smb.conf
(man smb.conf) zu finden.1
Samba benutzt das SMB-Protokoll (Server Message Block) der Firma Micro-
soft. Allerdings mⁿssen alle Clients (z. B. Windows 95 / 98 oder NT Rech-
ner) das TCP/IP-Protokoll aktiviert haben. Samba setzt das SMB- auf das
TCP/IP-Protokoll auf. Bei allen Windowsrechnern mit einem Internetzugang
ist TCP/IP bereits installiert.
Mit dem SMB-Protokoll (engl. Server Message Block) werden in der Win-
dows- und LAN Manager-Welt Datei- und Druckdienste bereitgestellt. Das
SMB-Protokoll baut auf den NetBIOS-Diensten auf, und ist fⁿr den Datei-
dienst somit mit NFS vergleichbar. Hierin unterscheidet SMB sich nicht von
anderen Protokollen wie etwa dem NetWare Core Protocol. Microsoft hat im
Gegensatz zu Novell die Spezifikation des SMB-Protokolls freigegeben, so-
dass andere SMB ebenfalls unterstⁿtzen k÷nnen.
Fⁿr die Samba-Anbindung kann kein Installationssupport in Anspruch ge-
nommen werden (vgl. Abschnitt H.1.2 auf Seite 548); wir sind aber gern
bereit, im Rahmen des kostenpflichtigen Business-Supports zu helfen (vgl.
Abschnitt H.3 auf Seite 551).
1 Vgl. [BD99], das bei SuSE PRESS erschienene Samba-Buch von Olaf Borkner-Delcarlo.
227
7. Tanze Samba mit mir ...
NetBIOS
NetBIOS ist eine Softwareschnittstelle (API), die zur Rechnerkommunika-
tion entworfen wurde. Dabei wird ein Namensdienst (engl. name service)
bereitgestellt, mit dem am Netz angeschlossene Rechner fⁿr sich Namen re-
servieren k÷nnen. Nach der Reservierung sind die Rechner dann unter diesen
Namen ansprechbar. Fⁿr die Namensvergabe gibt es keine zentrale Instanz,
die Rechte vergeben oder ⁿberprⁿfen k÷nnte. Jeder Rechner am Netz kann
beliebig Namen fⁿr sich reservieren, sofern ihm nicht andere zuvorgekom-
men sind.
Die NetBIOS-Schnittstelle kann nun auf unterschiedlichen Netzarchitekturen
implementiert werden. Eine Implementation erfolgte relativ dicht" an der
Netzwerkhardware und nennt sich NetBEUI. NetBEUI ist das, was hΣufig als
NetBIOS bezeichnet wird.
NetBEUI arbeitet zur Adressierung der einzelnen Pakete mit der in jedem
Netzadapter eingetragenen Hardwareadresse. Diese ist im Gegensatz etwa
zu IPX-Adressen oder IP-Adressen nicht so strukturiert, dass sich daraus
Informationen fⁿr Routingzwecke gewinnen lie▀en. So ist es nicht m÷glich,
NetBEUI-Pakete ⁿber Router zu ⁿbertragen, und ein Netz mit NetBEUI ist
auf den Bereich beschrΣnkt, der mit Repeatern oder Bridges erreicht werden
kann.
Weitere Netzwerkprotokolle, mit denen NetBIOS implementiert wurde, sind
IPX von Novell und TCP/IP. Das Protokoll, mit dem NetBIOS auf TCP/IP
aufgesetzt wurde, ist in den RFCs 1001 und 1002 beschrieben. RFC 1001
enthΣlt darⁿber hinaus eine recht gute Einfⁿhrung in die Konzepte von Net-
BIOS, die beim VerstΣndnis solcher Dienste wie WINS2 sehr hilfreich ist.
Die NetBIOS-Namen, die auch bei der Implementation von NetBIOS mittels
TCP/IP vergeben werden, haben zunΣchst einmal nichts mit den in der Da-
tei /etc/hosts oder per DNS vergebenen Namen zu tun ¡ NetBIOS ist
ein vollstΣndig eigener Namensraum. Es empfiehlt sich jedoch zwecks ver-
einfachter Administration, zumindestens fⁿr die Server NetBIOS-Namen zu
vergeben, die ihrem DNS-Hostnamen entsprechen. Samba tut dies als Vorein-
stellung.
Clients
Bis auf DOS und Windows 3.1 unterstⁿtzen alle gΣngigen Betriebssysteme
fⁿr PCs das SMB-Protokoll zum Ex- und Import von Plattenplatz. Windows
for Workgroups 3.11 unterstⁿtzt SMB ebenfalls, jedoch in der Standardinstal-
lation nur ⁿber IPX und NetBEUI. Um Samba, das SMB nur ⁿber TCP/IP an-
bieten kann, benutzen zu k÷nnen, muss man von Microsoft kostenlos erhΣltli-
che Zusatzsoftware installieren. Fⁿr DOS und Windows 3.1 gibt es ebenfalls
von Microsoft kostenlose Software, um Samba zu erreichen. Die Software ist
von ftp://ftp.microsoft.com/bussys/Clients zu erhalten.
SMB-Server stellen ihren Clients Plattenplatz in Form von so genannten
Shares" zur Verfⁿgung. Dabei umfasst ein Share ein Verzeichnis mit allen
2 WINS ist nichts anderes als ein erweiterter NetBIOS Name Server und keinesfalls eine Idee
von Microsoft. Nur der Name ist neu.
228
7.2. Installation des Servers
Unterverzeichnissen auf dem Server. Es wird unter einem Namen exportiert,
und kann von Clients unter diesem Namen angesprochen werden. Dabei kann
der Sharename frei vergeben werden. Er muss nicht dem Namen des expor-
tierten Verzeichnisses entsprechen. Ebenso wird einem exportierten Drucker
ein Name zugeordnet, unter dem Clients darauf zugreifen k÷nnen.
Zugriffsrechte
Ein NFS-Server wird durch die Datei /etc/exports konfiguriert. Zu-
gangsbeschrΣnkungen sind ausschlie▀lich rechnerbezogen m÷glich. In der
Umgebung, fⁿr die NFS entworfen wurde, nΣmlich Unix-Workstations, macht
dies auch Sinn, da die Clientsysteme selbst fⁿr die Authentifizierung der Be-
nutzer ausgelegt sind. In Zeiten von DOS und Windows, in denen jeder Be-
nutzer der Workstation root-Rechte besitzt, ist das NFS-Protokoll nicht mehr
angemessen. Die vielfach eingesetzten NFS-Clients fⁿr DOS sind als riesige
Sicherheitslⁿcke anzusehen.
Das SMB-Protokoll kommt aus der DOS-Welt, und berⁿcksichtigt die Sicher-
heitsproblematik direkt. Jeder Zugang zu einem Share kann mit einem Pass-
wort geschⁿtzt werden. SMB kennt drei verschiedene M÷glichkeiten, dies zu
bewerkstelligen:
* Share Level Security
Bei der Share Level Security wird einem Share ein Passwort fest zuge-
ordnet. Jeder, der dieses Passwort kennt, hat Zugriff auf das Share.
* User Level Security
Diese Variante fⁿhrt das Konzept des Benutzers in SMB ein. Jeder Benut-
zer muss sich bei einem Server mit einem Passwort anmelden. Nach der
Anmeldung kann der Server dann abhΣngig vom Benutzernamen Zugang
zu den einzelnen, exportierten Shares gewΣhren.
* Server Level Security
Samba behauptet gegenⁿber den Clients, im User Level Mode zu arbeiten.
Allerdings ⁿbergibt es alle Passwortanfragen an einen anderen User Le-
vel Mode Server, der die Authentifizierung ⁿbernimmt. Diese Einstellung
erwartet einen weiteren Parameter (password server =).
Die Unterscheidung zwischen Share, User und Server Level Security ist fⁿr
den gesamten Server zu treffen. Es ist nicht m÷glich, einzelne Shares per
Share Level Security und andere per User Level Security zu exportieren.
Fⁿr weitere Infos zu diesem Thema lesen Sie bitte die Datei /usr/doc/
packages/samba/textdocs/security_level.txt.
7.2 Installation des Servers
Durch das Setzen der Variablen <START_SMB> auf den Wert yes in der
Datei /etc/rc.config werden die SMB-Dienste gestartet (siehe Ab-
schnitt 3.6.12 auf Seite 114).
Praktisch alles, was in Samba konfiguriert werden kann, wird in der Datei
/etc/smb.conf angegeben. Die Datei Σhnelt vom Aufbau her den .INI-
Dateien bei Windows. Sie ist in verschiedene Abschnitte aufgeteilt, die je-
229
7. Tanze Samba mit mir ...
weils einige Parameter enthalten. GrundsΣtzlich wird durch einen Abschnitt
ein Share beschrieben, dessen Name durch den Abschnittsnamen festgelegt
wird. ZusΣtzlich dazu gibt es noch vier spezielle Abschnitte, [globals],
[Beispiel], [cdrom] und [printers]. Im Abschnitt [globals]
werden Parameter fⁿr Samba festgelegt, die sich nicht auf die Beschreibung
einzelner Shares bezieht. Wenn der Abschnitt [Beispiel] angelegt wird,
kann jeder Client ohne Passwortabfrage mit den Rechten des Users nobo-
dy auf das Share [Beispiel] zugreifen. Gleiches gilt fⁿr den Abschnitt
[printers], mit dem alle in der /etc/printcap definierten Drucker
fⁿr Clients verfⁿgbar gemacht werden, ohne dass sie einzeln aufgefⁿhrt wer-
den mⁿssen.
smb.conf
Eine ganz einfache Beispieldatei ist in Datei 7.2.1 zu sehen.
Mit dieser /etc/smb.conf wird das Verzeichnis /home/beispiel al-
len Benutzern und alle in der /etc/printcap aufgefⁿhrten Drucker fⁿr
Clients zur Verfⁿgung gestellt.
* workgroup = arbeitsgruppe
Wie jeder Windows-Rechner wird auch der Samba-Server einer Arbeits-
gruppe zugeordnet, unter der er in der Netzwerkumgebung" erscheint.
Arbeitsgruppe ist die Voreinstellung der deutschen Version von Win-
dows for Workgroups.
* guest account = nobody
Samba ben÷tigt einen in der /etc/password aufgefⁿhrten Benutzer,
der keine oder minimale Rechte im Dateisystem hat fⁿr bestimmte Auf-
gaben. Wenn ÷ffentlich zugΣngliche Shares definiert werden (Parame-
ter public = yes), werden alle Operationen unter dieser Benutzer-
kennung durchgefⁿhrt. Auch wenn kein solches ÷ffentliches Share defi-
niert ist, muss der guest account definiert sein, da sonst der Samba-
Rechner nicht in der Netzwerkumgebung erscheint.
* keep alive = 30
Windows-Rechner tendieren dazu, hin und wieder abzustⁿrzen. Wenn sie
beim Absturz offene Verbindungen hinterlassen, kann es sein, dass der
Server dies erst sehr viel spΣter bemerkt. Damit Samba keine unn÷ti-
gen Ressourcen auf dem Server verschwendet, kann es mit dem Parame-
ter keep alive = 30 angewiesen werden, alle 30 Sekunden nachzu-
schauen, ob der Client noch lebt.
* os level = 2
Der Parameter os level = 2 legt fest, dass Samba fⁿr WfW und Win-
dows 95 Browser-Dienste anbietet. Befindet sich ein Windows NT-Rech-
ner im Netz, wird Samba diesen Dienst nicht anbieten, sondern den NT-
Rechner selbst in Anspruch nehmen.
* security = share
Hierzu siehe den Abschnitt zu den Zugriffsrechten.
Der Abschnitt [Beispiel] legt Parameter fⁿr das zu exportierende Ver-
zeichnis fest. Dieses Verzeichnis ist von allen Benutzern im Netz ohne Pass-
230
7.2. Installation des Servers
[global]
workgroup = arbeitsgruppe
guest account = nobody
keep alive = 30
os level = 2
security = share
printing = bsd
printcap name = /etc/printcap
load printers = yes
[Beispiel]
path = /home/beispiel
comment = Beispielverzeichnis
read only = no
browseable = yes
public = yes
create mode = 0750
[cdrom]
path = /cdrom
comment = cdrom
volume = "Das_CD_ROM_Label"
read only = yes
available = yes
share modes = no
browseable = yes
public = yes
[printers]
comment = All Printers
browseable = no
printable = yes
public = no
read only = yes
create mode = 0700
directory = /tmp
Datei 7.2.1: Beispiel fⁿr eine Datei /etc/smb.conf
231
7. Tanze Samba mit mir ...
wortabfrage erreichbar, da public = yes. Das gleiche gilt auch fⁿr das
exportierte /cdrom (so lΣsst sich z. B. mit Samba eine lowcost Jukebox ein-
richten).
* path = /home/beispiel
Mit path wird das Verzeichnis /home/beispiel exportiert.
* comment = Beispiel
Jedes Share kann bei SMB-Servern mit einem Kommentar versehen wer-
den, der das Share nΣher kennzeichnet.
* browsable = yes
Diese Einstellung erm÷glicht, dass das Share Beispiel in der Netz-
werkumgebung sichtbar wird.
* read only = no
Samba verbietet in der Voreinstellung den Schreibzugriff auf exportier-
te Shares. In dieser Konfiguration soll es aber erlaubt werden, daher
read only = no.
* create mode = 750
Windows-Rechner kennen das Konzept der Unix-Zugriffsrechte nicht.
Daher k÷nnen sie bei der Erstellung von Dateien auch nicht angeben, mit
welchen Zugriffsrechten dies zu geschehen hat.
Der Parameter create mode legt fest, mit welchen Zugriffsrechten Da-
teien angelegt werden.
* public = yes
Der Gastzugang zu diesem Share wird erlaubt. Ein Passwort wird nicht
abgefragt! Der Benutzer erscheint als User nobody.
Fⁿr die einfache Administration des Sambaservers gibt es noch das Pro-
gramm swat. Es stellt ein einfaches Webinterface zur Verfⁿgung, mit dem
Sie bequem den Sambaserver konfigurieren k÷nnen. Infos zum Programm
finden Sie unter /usr/doc/packages/samba/htmldocs/swat.
8.html oder in der Manual-Page von swat (man swat).
7.3 Installation der Clients
ZunΣchst sei erwΣhnt, dass die Clients den Samba-Server nur ⁿber TCP/IP
erreichen k÷nnen. NetBEUI oder NetBIOS ⁿber IPX sind mit Samba momen-
tan nicht verwendbar. Da TCP/IP ⁿberall, sogar bei Novell und Microsoft, auf
dem Vormarsch ist, ist es auch fraglich, ob sich dies jemals Σndern wird.
Windows 95/98
Windows 95/98 bringt die Unterstⁿtzung fⁿr TCP/IP bereits mit. Wie bei Win-
dows for Workgroups wird sie jedoch in der Standardinstallation nicht mit in-
stalliert. Um TCP/IP nachzuinstallieren, wΣhlt man im Netzwerk-Applet der
Systemsteuerung `Hinzufⁿgen...' unter `Protokolle' TCP/IP von
Microsoft. Bitte achten Sie auf die korrekte Angabe Ihrer Netzwerkadresse
und der Netzwerkmaske (vgl. Abschnitt 5 auf Seite 149)! Nach einem Neu-
start des Windows Rechners k÷nnen Sie den richtig konfigurierten Samba-
232
7.4. Optimierung
server unter Netzwerk wiederfinden (Doppelklick auf das Icon Netzwerk auf
Ihrem Desktop).
Um einen Drucker auf dem Samba-Server zu nutzen, sollte man den
allgemeinen oder den Apple-PostScript-Druckertreiber von der jeweili-
gen Windows-Version installieren; am besten verbindet man dann mit der
Linux-Drucker-Queue, die die automatische apsfilter-Erkennung beinhal-
tet.
7.4 Optimierung
An dieser Stelle sei noch einmal darauf verwiesen, dass die hier vorgestellte
Konfiguration fⁿr den privaten Benutzer und nicht fⁿr Businessl÷sungen ge-
eignet ist. Unser Business-Support hilft Ihnen bei Fragen zu diesem Thema
gerne weiter (vgl. Abschnitt H.3 auf Seite 551).
Die Standardkonfiguration in /etc/smb.conf ist sehr langsam. Hier sind
ein paar OptimierungsvorschlΣge.
* socket options = TCP_NODELAY
Das TCP/IP Protokoll versucht immer mehrere kleine Datenbl÷cke zu-
sammenzufassen. Da Samba mit vielen dieser kleinen Datenbl÷cken ar-
beitet ist es allerdings in der Praxis ratsam dieses Verhalten mit der Option
socket options = TCP_NODELAY abzuschalten.
* oplocks = yes
Mit dieser Option werden Schreibzugriffe auf geΣnderte Dateien erst dann
ausgefⁿhrt, wenn ein weiterer Client die gleiche Datei lesen m÷chte. Es
verhΣlt sich also wie ein Schreibcache.
* write raw = yes
Raw write erlaubt es 65535 Bytes in jedem Datenpaket zu senden und
kann unter UmstΣnden einen signifikanten Performanceboost geben. Bei
billigen Netzwerkkarten kann es allerdings teilweise besser sein diese
Option auf write raw = no zu setzten.
* read raw = yes
Wirkt wie write raw = yes aber ist fⁿr das Lesen der Daten zustΣn-
dig.
Weitere Hilfe und viele Tipps zur Optimierung finden Sie in den Da-
teien /usr/doc/packages/samba/textdocs/Speed.txt und
/usr/doc/packages/samba/textdocs/Speed2.txt.
233
7. Tanze Samba mit mir ...
234