home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxde / slxde-07.txt < prev    next >
Text File  |  2000-02-29  |  18KB  |  417 lines

  1.                                                                                        Kapitel 7
  2.                                    Tanze Samba mit mir ...
  3.  
  4. Mit dem Programmpaket Samba des Australiers ANDREW TRIDGELL kann
  5. ein beliebiger Unix-Rechner zu einem leistungsfΣhigen File- und Printserver
  6. fⁿr DOS- und Windows-Rechner ausgebaut werden. Seit Beginn der Entwick-
  7. lung 1991 hat sich Samba zu einem sehr stabilen und portablen Produkt ent-
  8. wickelt, das seinen festen Platz in Unternehmen eingenommen hat und dort
  9. als ErgΣnzung zu oder sogar als Ersatz fⁿr Novell NetWare- oder Windows
  10. NT-Servern eingesetzt wird.
  11.  
  12.  
  13. 7.1 Einfⁿhrung
  14.  
  15. Samba ist inzwischen ein sehr komplexes Produkt. An dieser Stelle kann
  16. daher keine vollstΣndige Darstellung aller M÷glichkeiten erfolgen, son-
  17. dern nur ein kleiner Einblick ⁿber die FunktionalitΣt. Im Verzeichnis
  18. /usr/doc/packages/samba sind viele Dokumente zu finden, anhand
  19. derer man auch komplexe Netzkonfigurationen aufbauen kann. Die Referenz
  20. zur Konfigurationsdatei von Samba ist in der Manual-Page von smb.conf
  21. (man smb.conf) zu finden.1
  22. Samba benutzt das SMB-Protokoll (Server Message Block) der Firma Micro-
  23. soft. Allerdings mⁿssen alle Clients (z. B. Windows 95 / 98 oder NT Rech-
  24. ner) das TCP/IP-Protokoll aktiviert haben. Samba setzt das SMB- auf das
  25. TCP/IP-Protokoll auf. Bei allen Windowsrechnern mit einem Internetzugang
  26. ist TCP/IP bereits installiert.
  27. Mit dem SMB-Protokoll (engl. Server Message Block) werden in der Win-
  28. dows- und LAN Manager-Welt Datei- und Druckdienste bereitgestellt. Das
  29. SMB-Protokoll baut auf den NetBIOS-Diensten auf, und ist fⁿr den Datei-
  30. dienst somit mit NFS vergleichbar. Hierin unterscheidet SMB sich nicht von
  31. anderen Protokollen wie etwa dem NetWare Core Protocol. Microsoft hat im
  32. Gegensatz zu Novell die Spezifikation des SMB-Protokolls freigegeben, so-
  33. dass andere SMB ebenfalls unterstⁿtzen k÷nnen.
  34. Fⁿr die Samba-Anbindung kann kein Installationssupport in Anspruch ge-
  35. nommen werden (vgl. Abschnitt H.1.2 auf Seite 548); wir sind aber gern
  36. bereit, im Rahmen des kostenpflichtigen Business-Supports zu helfen (vgl.
  37. Abschnitt H.3 auf Seite 551).
  38.  
  39. 1 Vgl. [BD99], das bei SuSE PRESS erschienene Samba-Buch von Olaf Borkner-Delcarlo.
  40.  
  41.                                                                                               227
  42.  
  43.  
  44.  
  45. 7. Tanze Samba mit mir ...
  46.  
  47.                 NetBIOS
  48.                 NetBIOS ist eine Softwareschnittstelle (API), die zur Rechnerkommunika-
  49.                 tion entworfen wurde. Dabei wird ein Namensdienst (engl. name service)
  50.                 bereitgestellt, mit dem am Netz angeschlossene Rechner fⁿr sich Namen re-
  51.                 servieren k÷nnen. Nach der Reservierung sind die Rechner dann unter diesen
  52.                 Namen ansprechbar. Fⁿr die Namensvergabe gibt es keine zentrale Instanz,
  53.                 die Rechte vergeben oder ⁿberprⁿfen k÷nnte. Jeder Rechner am Netz kann
  54.                 beliebig Namen fⁿr sich reservieren, sofern ihm nicht andere zuvorgekom-
  55.                 men sind.
  56.                 Die NetBIOS-Schnittstelle kann nun auf unterschiedlichen Netzarchitekturen
  57.                 implementiert werden. Eine Implementation erfolgte relativ  dicht" an der
  58.                 Netzwerkhardware und nennt sich NetBEUI. NetBEUI ist das, was hΣufig als
  59.                 NetBIOS bezeichnet wird.
  60.                 NetBEUI arbeitet zur Adressierung der einzelnen Pakete mit der in jedem
  61.                 Netzadapter eingetragenen Hardwareadresse. Diese ist im Gegensatz etwa
  62.                 zu IPX-Adressen oder IP-Adressen nicht so strukturiert, dass sich daraus
  63.                 Informationen fⁿr Routingzwecke gewinnen lie▀en. So ist es nicht m÷glich,
  64.                 NetBEUI-Pakete ⁿber Router zu ⁿbertragen, und ein Netz mit NetBEUI ist
  65.                 auf den Bereich beschrΣnkt, der mit Repeatern oder Bridges erreicht werden
  66.                 kann.
  67.                 Weitere Netzwerkprotokolle, mit denen NetBIOS implementiert wurde, sind
  68.                 IPX von Novell und TCP/IP. Das Protokoll, mit dem NetBIOS auf TCP/IP
  69.                 aufgesetzt wurde, ist in den RFCs 1001 und 1002 beschrieben. RFC 1001
  70.                 enthΣlt darⁿber hinaus eine recht gute Einfⁿhrung in die Konzepte von Net-
  71.                 BIOS, die beim VerstΣndnis solcher Dienste wie WINS2 sehr hilfreich ist.
  72.                 Die NetBIOS-Namen, die auch bei der Implementation von NetBIOS mittels
  73.                 TCP/IP vergeben werden, haben zunΣchst einmal nichts mit den in der Da-
  74.                 tei /etc/hosts oder per DNS vergebenen Namen zu tun ¡ NetBIOS ist
  75.                 ein vollstΣndig eigener Namensraum. Es empfiehlt sich jedoch zwecks ver-
  76.                 einfachter Administration, zumindestens fⁿr die Server NetBIOS-Namen zu
  77.                 vergeben, die ihrem DNS-Hostnamen entsprechen. Samba tut dies als Vorein-
  78.                 stellung.
  79.  
  80.                 Clients
  81.                 Bis auf DOS und Windows 3.1 unterstⁿtzen alle gΣngigen Betriebssysteme
  82.                 fⁿr PCs das SMB-Protokoll zum Ex- und Import von Plattenplatz. Windows
  83.                 for Workgroups 3.11 unterstⁿtzt SMB ebenfalls, jedoch in der Standardinstal-
  84.                 lation nur ⁿber IPX und NetBEUI. Um Samba, das SMB nur ⁿber TCP/IP an-
  85.                 bieten kann, benutzen zu k÷nnen, muss man von Microsoft kostenlos erhΣltli-
  86.                 che Zusatzsoftware installieren. Fⁿr DOS und Windows 3.1 gibt es ebenfalls
  87.                 von Microsoft kostenlose Software, um Samba zu erreichen. Die Software ist
  88.                 von ftp://ftp.microsoft.com/bussys/Clients zu erhalten.
  89.                 SMB-Server stellen ihren Clients Plattenplatz in Form von so genannten
  90.                  Shares" zur Verfⁿgung. Dabei umfasst ein Share ein Verzeichnis mit allen
  91.                 2 WINS ist nichts anderes als ein erweiterter NetBIOS Name Server und keinesfalls eine Idee
  92.                 von Microsoft. Nur der Name ist neu.
  93.  
  94. 228
  95.  
  96.  
  97.  
  98.                                                                  7.2. Installation des Servers
  99.  
  100. Unterverzeichnissen auf dem Server. Es wird unter einem Namen exportiert,
  101. und kann von Clients unter diesem Namen angesprochen werden. Dabei kann
  102. der Sharename frei vergeben werden. Er muss nicht dem Namen des expor-
  103. tierten Verzeichnisses entsprechen. Ebenso wird einem exportierten Drucker
  104. ein Name zugeordnet, unter dem Clients darauf zugreifen k÷nnen.
  105.  
  106. Zugriffsrechte
  107. Ein NFS-Server wird durch die Datei /etc/exports konfiguriert. Zu-
  108. gangsbeschrΣnkungen sind ausschlie▀lich rechnerbezogen m÷glich. In der
  109. Umgebung, fⁿr die NFS entworfen wurde, nΣmlich Unix-Workstations, macht
  110. dies auch Sinn, da die Clientsysteme selbst fⁿr die Authentifizierung der Be-
  111. nutzer ausgelegt sind. In Zeiten von DOS und Windows, in denen jeder Be-
  112. nutzer der Workstation root-Rechte besitzt, ist das NFS-Protokoll nicht mehr
  113. angemessen. Die vielfach eingesetzten NFS-Clients fⁿr DOS sind als riesige
  114. Sicherheitslⁿcke anzusehen.
  115. Das SMB-Protokoll kommt aus der DOS-Welt, und berⁿcksichtigt die Sicher-
  116. heitsproblematik direkt. Jeder Zugang zu einem Share kann mit einem Pass-
  117. wort geschⁿtzt werden. SMB kennt drei verschiedene M÷glichkeiten, dies zu
  118. bewerkstelligen:
  119.  * Share Level Security
  120.    Bei der Share Level Security wird einem Share ein Passwort fest zuge-
  121.    ordnet. Jeder, der dieses Passwort kennt, hat Zugriff auf das Share.
  122.  * User Level Security
  123.    Diese Variante fⁿhrt das Konzept des Benutzers in SMB ein. Jeder Benut-
  124.    zer muss sich bei einem Server mit einem Passwort anmelden. Nach der
  125.    Anmeldung kann der Server dann abhΣngig vom Benutzernamen Zugang
  126.    zu den einzelnen, exportierten Shares gewΣhren.
  127.  * Server Level Security
  128.    Samba behauptet gegenⁿber den Clients, im User Level Mode zu arbeiten.
  129.    Allerdings ⁿbergibt es alle Passwortanfragen an einen anderen User Le-
  130.    vel Mode Server, der die Authentifizierung ⁿbernimmt. Diese Einstellung
  131.    erwartet einen weiteren Parameter (password server =).
  132. Die Unterscheidung zwischen Share, User und Server Level Security ist fⁿr
  133. den gesamten Server zu treffen. Es ist nicht m÷glich, einzelne Shares per
  134. Share Level Security und andere per User Level Security zu exportieren.
  135. Fⁿr weitere Infos zu diesem Thema lesen Sie bitte die Datei /usr/doc/
  136. packages/samba/textdocs/security_level.txt.
  137.  
  138. 7.2 Installation des Servers
  139. Durch das Setzen der Variablen <START_SMB> auf den Wert yes in der
  140. Datei /etc/rc.config werden die SMB-Dienste gestartet (siehe Ab-
  141. schnitt 3.6.12 auf Seite 114).
  142. Praktisch alles, was in Samba konfiguriert werden kann, wird in der Datei
  143. /etc/smb.conf angegeben. Die Datei Σhnelt vom Aufbau her den .INI-
  144. Dateien bei Windows. Sie ist in verschiedene Abschnitte aufgeteilt, die je-
  145.  
  146.                                                                                           229
  147.  
  148.  
  149.  
  150. 7. Tanze Samba mit mir ...
  151.  
  152.                 weils einige Parameter enthalten. GrundsΣtzlich wird durch einen Abschnitt
  153.                 ein Share beschrieben, dessen Name durch den Abschnittsnamen festgelegt
  154.                 wird. ZusΣtzlich dazu gibt es noch vier spezielle Abschnitte, [globals],
  155.                 [Beispiel], [cdrom] und [printers]. Im Abschnitt [globals]
  156.                 werden Parameter fⁿr Samba festgelegt, die sich nicht auf die Beschreibung
  157.                 einzelner Shares bezieht. Wenn der Abschnitt [Beispiel] angelegt wird,
  158.                 kann jeder Client ohne Passwortabfrage mit den Rechten des Users nobo-
  159.                 dy auf das Share [Beispiel] zugreifen. Gleiches gilt fⁿr den Abschnitt
  160.                 [printers], mit dem alle in der /etc/printcap definierten Drucker
  161.                 fⁿr Clients verfⁿgbar gemacht werden, ohne dass sie einzeln aufgefⁿhrt wer-
  162.                 den mⁿssen.
  163.  
  164.                 smb.conf
  165.                 Eine ganz einfache Beispieldatei ist in Datei 7.2.1 zu sehen.
  166.                 Mit dieser /etc/smb.conf wird das Verzeichnis /home/beispiel al-
  167.                 len Benutzern und alle in der /etc/printcap aufgefⁿhrten Drucker fⁿr
  168.                 Clients zur Verfⁿgung gestellt.
  169.                  * workgroup = arbeitsgruppe
  170.                    Wie jeder Windows-Rechner wird auch der Samba-Server einer Arbeits-
  171.                    gruppe zugeordnet, unter der er in der  Netzwerkumgebung" erscheint.
  172.                    Arbeitsgruppe ist die Voreinstellung der deutschen Version von Win-
  173.                    dows for Workgroups.
  174.                  * guest account = nobody
  175.                    Samba ben÷tigt einen in der /etc/password aufgefⁿhrten Benutzer,
  176.                    der keine oder minimale Rechte im Dateisystem hat fⁿr bestimmte Auf-
  177.                    gaben. Wenn ÷ffentlich zugΣngliche Shares definiert werden (Parame-
  178.                    ter public = yes), werden alle Operationen unter dieser Benutzer-
  179.                    kennung durchgefⁿhrt. Auch wenn kein solches ÷ffentliches Share defi-
  180.                    niert ist, muss der guest account definiert sein, da sonst der Samba-
  181.                    Rechner nicht in der Netzwerkumgebung erscheint.
  182.                  * keep alive = 30
  183.                    Windows-Rechner tendieren dazu, hin und wieder abzustⁿrzen. Wenn sie
  184.                    beim Absturz offene Verbindungen hinterlassen, kann es sein, dass der
  185.                    Server dies erst sehr viel spΣter bemerkt. Damit Samba keine unn÷ti-
  186.                    gen Ressourcen auf dem Server verschwendet, kann es mit dem Parame-
  187.                    ter keep alive = 30 angewiesen werden, alle 30 Sekunden nachzu-
  188.                    schauen, ob der Client noch lebt.
  189.                  * os level = 2
  190.                    Der Parameter os level = 2 legt fest, dass Samba fⁿr WfW und Win-
  191.                    dows 95 Browser-Dienste anbietet. Befindet sich ein Windows NT-Rech-
  192.                    ner im Netz, wird Samba diesen Dienst nicht anbieten, sondern den NT-
  193.                    Rechner selbst in Anspruch nehmen.
  194.                  * security = share
  195.                    Hierzu siehe den Abschnitt zu den Zugriffsrechten.
  196.                 Der Abschnitt [Beispiel] legt Parameter fⁿr das zu exportierende Ver-
  197.                 zeichnis fest. Dieses Verzeichnis ist von allen Benutzern im Netz ohne Pass-
  198.  
  199. 230
  200.  
  201.  
  202.  
  203.                                                             7.2. Installation des Servers
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212. [global]
  213.    workgroup = arbeitsgruppe
  214.    guest account = nobody
  215.    keep alive = 30
  216.    os level = 2
  217.    security = share
  218.    printing = bsd
  219.    printcap name = /etc/printcap
  220.    load printers = yes
  221.  
  222. [Beispiel]
  223.    path = /home/beispiel
  224.    comment = Beispielverzeichnis
  225.    read only = no
  226.    browseable = yes
  227.    public = yes
  228.    create mode = 0750
  229.  
  230. [cdrom]
  231.    path = /cdrom
  232.    comment = cdrom
  233.    volume = "Das_CD_ROM_Label"
  234.    read only = yes
  235.    available = yes
  236.    share modes = no
  237.    browseable = yes
  238.    public = yes
  239.  
  240. [printers]
  241.    comment = All Printers
  242.    browseable = no
  243.    printable = yes
  244.    public = no
  245.    read only = yes
  246.    create mode = 0700
  247.    directory = /tmp
  248.  
  249.            Datei 7.2.1: Beispiel fⁿr eine Datei /etc/smb.conf
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.                                                                                      231
  258.  
  259.  
  260.  
  261. 7. Tanze Samba mit mir ...
  262.  
  263.                 wortabfrage erreichbar, da public = yes. Das gleiche gilt auch fⁿr das
  264.                 exportierte /cdrom (so lΣsst sich z. B. mit Samba eine lowcost Jukebox ein-
  265.                 richten).
  266.                  * path = /home/beispiel
  267.                     Mit path wird das Verzeichnis /home/beispiel exportiert.
  268.                  * comment = Beispiel
  269.                     Jedes Share kann bei SMB-Servern mit einem Kommentar versehen wer-
  270.                     den, der das Share nΣher kennzeichnet.
  271.                  * browsable = yes
  272.                     Diese Einstellung erm÷glicht, dass das Share Beispiel in der Netz-
  273.                     werkumgebung sichtbar wird.
  274.                  * read only = no
  275.                     Samba verbietet in der Voreinstellung den Schreibzugriff auf exportier-
  276.                     te Shares. In dieser Konfiguration soll es aber erlaubt werden, daher
  277.                     read only = no.
  278.                  * create mode = 750
  279.                     Windows-Rechner kennen das Konzept der Unix-Zugriffsrechte nicht.
  280.                     Daher k÷nnen sie bei der Erstellung von Dateien auch nicht angeben, mit
  281.                     welchen Zugriffsrechten dies zu geschehen hat.
  282.                     Der Parameter create mode legt fest, mit welchen Zugriffsrechten Da-
  283.                     teien angelegt werden.
  284.                  * public = yes
  285.                     Der Gastzugang zu diesem Share wird erlaubt. Ein Passwort wird nicht
  286.                     abgefragt! Der Benutzer erscheint als User nobody.
  287.  
  288.                  Fⁿr die einfache Administration des Sambaservers gibt es noch das Pro-
  289.                  gramm swat. Es stellt ein einfaches Webinterface zur Verfⁿgung, mit dem
  290.                  Sie bequem den Sambaserver konfigurieren k÷nnen. Infos zum Programm
  291.                  finden Sie unter /usr/doc/packages/samba/htmldocs/swat.
  292.                  8.html oder in der Manual-Page von swat (man swat).
  293.  
  294.                 7.3 Installation der Clients
  295.                 ZunΣchst sei erwΣhnt, dass die Clients den Samba-Server nur ⁿber TCP/IP
  296.                 erreichen k÷nnen. NetBEUI oder NetBIOS ⁿber IPX sind mit Samba momen-
  297.                 tan nicht verwendbar. Da TCP/IP ⁿberall, sogar bei Novell und Microsoft, auf
  298.                 dem Vormarsch ist, ist es auch fraglich, ob sich dies jemals Σndern wird.
  299.  
  300.                 Windows 95/98
  301.                 Windows 95/98 bringt die Unterstⁿtzung fⁿr TCP/IP bereits mit. Wie bei Win-
  302.                 dows for Workgroups wird sie jedoch in der Standardinstallation nicht mit in-
  303.                 stalliert. Um TCP/IP nachzuinstallieren, wΣhlt man im Netzwerk-Applet der
  304.                 Systemsteuerung `Hinzufⁿgen...' unter `Protokolle' TCP/IP von
  305.                 Microsoft. Bitte achten Sie auf die korrekte Angabe Ihrer Netzwerkadresse
  306.                 und der Netzwerkmaske (vgl. Abschnitt 5 auf Seite 149)! Nach einem Neu-
  307.                 start des Windows Rechners k÷nnen Sie den richtig konfigurierten Samba-
  308.  
  309. 232
  310.  
  311.  
  312.  
  313.                                                                                 7.4. Optimierung
  314.  
  315. server unter Netzwerk wiederfinden (Doppelklick auf das Icon Netzwerk auf
  316. Ihrem Desktop).
  317.  
  318.  Um einen Drucker auf dem Samba-Server zu nutzen, sollte man den
  319.  allgemeinen oder den Apple-PostScript-Druckertreiber von der jeweili-
  320.  gen Windows-Version installieren; am besten verbindet man dann mit der
  321.  Linux-Drucker-Queue, die die automatische apsfilter-Erkennung beinhal-
  322.  tet.
  323.  
  324. 7.4 Optimierung
  325. An dieser Stelle sei noch einmal darauf verwiesen, dass die hier vorgestellte
  326. Konfiguration fⁿr den privaten Benutzer und nicht fⁿr Businessl÷sungen ge-
  327. eignet ist. Unser Business-Support hilft Ihnen bei Fragen zu diesem Thema
  328. gerne weiter (vgl. Abschnitt H.3 auf Seite 551).
  329. Die Standardkonfiguration in /etc/smb.conf ist sehr langsam. Hier sind
  330. ein paar OptimierungsvorschlΣge.
  331.  * socket options = TCP_NODELAY
  332.     Das TCP/IP Protokoll versucht immer mehrere kleine Datenbl÷cke zu-
  333.     sammenzufassen. Da Samba mit vielen dieser kleinen Datenbl÷cken ar-
  334.     beitet ist es allerdings in der Praxis ratsam dieses Verhalten mit der Option
  335.     socket options = TCP_NODELAY abzuschalten.
  336.  * oplocks = yes
  337.     Mit dieser Option werden Schreibzugriffe auf geΣnderte Dateien erst dann
  338.     ausgefⁿhrt, wenn ein weiterer Client die gleiche Datei lesen m÷chte. Es
  339.     verhΣlt sich also wie ein Schreibcache.
  340.  * write raw = yes
  341.     Raw write erlaubt es 65535 Bytes in jedem Datenpaket zu senden und
  342.     kann unter UmstΣnden einen signifikanten Performanceboost geben. Bei
  343.     billigen Netzwerkkarten kann es allerdings teilweise besser sein diese
  344.     Option auf write raw = no zu setzten.
  345.  * read raw = yes
  346.     Wirkt wie write raw = yes aber ist fⁿr das Lesen der Daten zustΣn-
  347.     dig.
  348.  
  349.  Weitere Hilfe und viele Tipps zur Optimierung finden Sie in den Da-
  350.  teien /usr/doc/packages/samba/textdocs/Speed.txt und
  351.  /usr/doc/packages/samba/textdocs/Speed2.txt.
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.                                                                                             233
  362.  
  363.  
  364.  
  365. 7. Tanze Samba mit mir ...
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413. 234
  414.  
  415.  
  416.  
  417.