home *** CD-ROM | disk | FTP | other *** search
- 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
-
-
-
-