![]()
Manchmal finde ich in einer der Samba-Mailing-Listen oder einer Newsgroup eine Nachricht, in der es heißt: »Ich habe Samba Version 1.0 und kriege ____ nicht zum Laufen.« Die Antwort darauf lautet unweigerlich: »Aktualisieren Sie auf die neueste Version. Wenn es dann noch nicht funktioniert, stellen Sie Ihre Frage noch einmal.« Ich übertreibe vielleicht etwas, was die Version betrifft (um der Genauigkeit willen: während ich dies schreibe, ist die aktuellste Version 2.0), aber es ist wichtig, dass Sie sich darüber im Klaren sind, dass Code schnell weiterentwickelt und geändert wird, vor allem bei einem Open-Source-Software-Projekt wie Samba. Das Problem, auf das die Person gestoßen war, lag möglicherweise in einem Fehler begründet, der bereits korrigiert wurde.
Vielleicht installieren Sie Samba zum ersten Mal, oder der bisherige Samba-Administrator hat sich einen neuen Job gesucht, bei dem er fünfmal mehr verdient. Aus welchem Grund auch immer, irgendwann müssen Sie sich eine Kopie des aktuellsten Source-Codes besorgen und ihn selbst kompilieren. Vielleicht freuen Sie sich ja sogar auf diese Aufgabe.
Dieses Kapitel bietet Ihnen alle nötigen Informationen, um den aktuellsten Source-Code herunterzuladen und alle Optionen einzustellen, die für die Kompilierung wichtig sind. Außerdem werden Sie einen Blick auf die verfügbaren Binärdistributionen werfen (falls Ihnen nicht danach ist, die Dinge selber zu kompilieren).
Wenn bei Ihnen bereits Samba läuft und Sie wissen wollen, ob Sie die aktuellste Version haben, lesen Sie weiter! Wenn Sie Samba erstmals installieren, können Sie diesen Abschnitt für später aufsparen.
Es gibt zwei einfache Methoden, wenn Sie feststellen wollen, welche Samba-Version in Ihrem System installiert ist. Die erste Methode benutzt die Log-Dateien, die von den Daemons smbd und nmbd erstellt und hinterlassen werden, während die zweite Methode darin besteht, Informationen von den Prozessen selbst zu holen.
Schauen Sie sich zunächst die Log-Dateien an. Ein Samba-Server umfasst zwei Daemon-Prozesse: smbd und nmbd. Beide Prozesse erzeugen Logs, die standardmäßig in /usr/local/samba/var gespeichert werden und in der Regel log.smb bzw. log.nmb heißen. Sie können einen anderen Standort festlegen, indem Sie einen Wert in der Konfigurationsdatei definieren. Wenn Sie die Log-Dateien nicht in /usr/local/samba/var finden, besteht der nächste Schritt darin, die Konfigurationsdatei zu suchen, die normalerweise smb.conf heißt.
In der Regel befindet sich die Konfigurationsdatei in /usr/local/samba/lib. Wie für die meisten anderen Werte und Standorte in Samba ist es auch für smb.conf möglich, einen anderen Namen und Speicherplatz festzulegen, indem Sie über den Parameter -s ein Befehlszeilenargument an smbd und nmbd weiterleiten. Samba kann entweder über den Metadaemon inetd oder als eigenständiger Daemon gestartet werden. Um die von Ihrem System benutzten Methoden zu bestimmen, werfen Sie über folgenden Befehl einen Blick in /etc/inetd.conf:
grep smbd /etc/indetd.confWenn Ihr Rechner System-V-init-Skripte, wie z.B. Solaris 2.x oder RedHat Linux, benutzt, können Sie zum Start-Skript-Verzeichnis gehen, das in der Regel so ähnlich heißt wie /etc/init.d oder /etc/rc.d, und folgenden Befehl eingeben:
grep smbd *Wenn Sie beim Starten von smbd bemerken, dass einem Parameter -l ein Dateiname folgt, ist dies Ihre Standard-Logdatei. Ansonsten geben Sie folgenden Befehl aus:
grep "log file" smb.confDie daraus resultierende Ausgabe sollte Ihnen einen absoluten Pfad zu einer Datei geben. Schauen Sie in diesem Verzeichnis nach den Samba-Logs.
Nachdem Sie die richtigen Logdateien gefunden haben, sollten Sie die Version des Samba-Daemons bestimmen können, der diese Logs erstellt hat, indem Sie die Datei durchsuchen:
root# grep "smbd version" log.smb | tail -lWenn Sie keine Ausgabe erhalten, die der obigen ähnelt, heißt das entweder, dass die Logs durch einen cron-Job auf dem System überschrieben wurden oder dass sie von Samba selbst aufgrund ihrer Größe gelöscht wurden. Wenn Sie wollen, dass Samba diese Information erneut darstellt, können Sie die Logs entfernen und die smbd- und nmbd-Prozesse neu starten.
Es ist unmöglich, hier zu beschreiben, wie Samba auf jedem möglichen System neu gestartet wird. Dieses Beispiel aus einem Slackware-3.5-Linux-System sollte Ihnen eine generelle Vorstellung geben:
[root@bilbo /etc] killall smbdSollten Sie vergessen, die Logs vorher zu entfernen, hängt Samba die neuen Einträge einfach an die vorhandenen Logs an.

![]()
In Samba-Versionen vor 2.0 überschreibt nmbd standardmäßig die alte log.nmb-Datei, während smbd Log-Einträge anhängt. In Version 2.0 hängen sowohl smbd als nmbd Log-Einträge standardmäßig an.
![]()
Eine andere Möglichkeit, festzustellen, welche Samba-Version derzeit läuft, besteht darin, das smbclient-Utility zu benutzen, das in der Samba-Distribution enthalten ist. Obwohl diese Methode wesentlich einfacher ist, setzt sie voraus, dass smbclient installiert ist und Samba läuft. Suchen Sie die smbclient-Binärdatei (in der Regel in /usr/local/samba/bin) und führen Sie folgenden Befehl aus:
smbclient -L localhostAls Ergebnis sollten Sie etwa Folgendes sehen (möglicherweise mit zusätzlichem Text; aaa, bbb, ccc und ddd sind Platzhalter für Zahlenwerte aus Ihrem definierten Netzwerk):
Added interface ip=aaa.bbb.ccc.ddd bcast=aaa.bbb.ccc.255 nmask=255.255.255.0Die Informationen zur Samba-Version auf dem Rechner, mit dem Sie verbunden sind (dem lokalen Rechner), sind in den eckigen Klammern ([]) dargestellt, die der Bezeichnung Server= folgen. Die Version im vorstehenden Beispiel ist 2.1.0-prealpha (Testcode).
Wenn Sie nun wissen, dass Sie die neueste Version von Samba brauchen, wohin können Sie gehen? Als Startpunkt sollten Sie Ihren Browser an http://www.samba.org verweisen (siehe Abbildung 3.1). Diese Website bietet Links zu allen Samba-Mirror-Websites sowie den FTP-Mirrors. Hierbei handelt es sich um Server, die in kurzen und regelmäßigen Zeitabständen den Originalserver kopieren (»spiegeln«). Liegt ein solcher Server geografisch in Ihrer Nähe, ermöglicht er Ihnen so einen schnelleren Download der Dateien.
Abb. 3.1: Liste der Mirrors für http://www.samba.org
Wenn Sie beim Herunterladen der Samba-Distribution HTTP benutzen, wählen Sie zunächst die Mirror-Site, die Ihrem Standpunkt am nächsten liegt. Wählen Sie dann auf der Homepage der Mirror-Site den Download-Link. Die sich dann öffnende Seite, die Sie in Abbildung 3.2 sehen können, sollte einen Link haben, über den Sie eine Datei namens samba-latest.tar.gz herunterladen können.
Abb. 3.2: Samba-Download-Seite
Wenn Sie es vorziehen zu browsen, um zu sehen, was verfügbar ist, können Sie eine Verzeichnisauflistung zum Herunterladen erhalten (siehe Abbildung 3.3). Auch hier sollten Sie eine Datei namens samba-latest.tar.gz vorfinden. Falls nicht, suchen Sie einfach nach samba-#####.tar.gz mit der höchsten Versionsnummer. Die Suche nach dem aktuellsten Distributionsarchiv über FTP entspricht in etwa dem Browsen der Verzeichnisauflistung über HTTP.
Nachdem Sie die Distribution heruntergeladen haben, wechseln Sie in ein temporäres Verzeichnis, in dem Sie nichts überschreiben können, wenn Sie die Source-Dateien entpacken. Ich benutze ein Verzeichnis namens ~/src als Arbeitsverzeichnis für die Kompilierung von Source-Codes. Wenn ich nach dem Beenden etwas speichern möchte, verschiebe ich die Dateien an einen beständigeren Speicherplatz. Sie benötigen eine Arbeitsversion von GNU gzip und tar, um die Dateien auszupacken. Ist der Name der heruntergeladenen Datei z.B. samba-latest.tar.gz, packt der folgende Befehl die Dateien für Sie aus:
gzip -dc samba-latest.tar.gz | tar xvf -Obwohl sich der Verzeichnisbaum von Zeit zu Zeit ändern kann, haben alle Versionen bisher drei Verzeichnisse gemeinsam:

Nachdem Sie den Source-Code von Samba vorliegen haben, hängen die nächsten Schritte für die Kompilierung davon ab, welche Version von Samba Sie installieren möchten. In den Versionen vor 2.0 werden die Dinge im Vergleich zur Version 2.0 und höher ganz anders durchgeführt, da die Version 2.0 komplett überarbeitet wurde und GNU-autoconf verwendet.
Vielleicht ist es Ihnen aus irgendwelchen Gründen nicht möglich, auf die neueste Version zu aktualisieren. Vielleicht müssen Sie ein bereits existierendes System administrieren und eine der Standardeinstellungen ändern, die während der Kompilierung erstellt werden. Wie ich zuvor schon erwähnt habe, unterscheidet sich die Kompilierung der Versionen vor 2.0 von der aktuellen Methode. Der Vollständigkeit halber möchte ich noch erwähnen, dass die letzte Version vor 2.0 die Version 1.9.18p10 war.
Im Code-Baum der Versionen vor 2.0 befinden sich alle Source-Dateien in einem Verzeichnis, das auch ein Makefile enthält, das Sie vor der Kompilierung geringfügig ändern müssen:
# Das Basisverzeichnis für alle Samba-DateienEine der Optionen, die Sie ändern sollten, ist das Basisverzeichnis für die Samba-Binärdateien. Die Inhalte dieses Verzeichnisses werden später in diesem Kapitel dargestellt. Zunächst einmal sollten Sie es als den Ort ansehen, an dem Samba Informationen sucht und ablegt. Die meisten dieser Speicherplätze können Sie über smb.conf-Optionen oder Befehlszeilenparameter selbst bestimmen. Ich ziehe es jedoch vor, Samba explizit mitzuteilen, wo sich die nötigen Dateien befinden, und keine Vermutungen darüber anzustellen, aber das ist meine persönliche Meinung:
# Die Verzeichnisse, in der die Dinge abgelegt werden.Wenn Sie die einzelnen Samba-Verzeichnisse über mehrere Verzeichnisse verteilen wollen, können Sie die Werte von $ {BINDIR}, $ {LIBDIR} und {VARDIR} ändern.
Sie können außerdem die Standorte für einzelne Dateien ändern, indem Sie eine der folgenden Variablen des Makefile ändern. Wenn Sie nicht sicher sind, was die einzelnen Dateien genau darstellen, können Sie ganz einfach die Standardeinstellungen beibehalten.
# geben Sie hier an, wo die verschiedenen Dateien zu findenBevor ich fortfahre, möchte ich auf die Konventionen hinweisen, über die bestimmte Abschnitte der Manpages für einen Eintrag durch Hinzufügen von (Zahl) definiert werden. In dem hier aufgelisteten Auszug aus dem Makefile heißt die Angabe smbd (8), was bedeutet, dass sich die smbd-Manpage in Abschnitt 8 befindet. Standard-Installationsverzeichnisse vorausgesetzt befindet sich die smbd-Manpage in /usr/local/samba/mab/man8.
Die smbd- und nmbd-Daemons schreiben ihre Logging-Informationen in die Logdateien:
CONFIGFILE = $(LIBDIR)/smb.confDie smb.conf-Datei habe ich bereits erwähnt. Die Datei lmhosts-Datei ist die NetBIOS-Entsprechung einer /etc/hosts-Datei:
DRIVERFILE = $(LIBDIR)/printers.defDie Datei printers.def enthält Informationen über Druckertreiber, die von Windows-95- und Windows-98-Clients direkt heruntergeladen und installiert werden können, wenn sie sich mit dem Drucker verbinden:
SMB_PASWD = $(BINDIR)/smbpasswdDiese Dateien sind das Samba-passwd-Utility bzw. die passwd-Datei. Sie werden in Kapitel 6, »Sicherheitsmodi und Passwörter«, dargestellt.
# das Verzeichnis für Lock-DateienIm lock-Verzeichnis platziert Samba Dinge wie die aktuelle Browse-Liste (siehe Kapitel 19, »Lokales Subnetz-Browsing «, und 20, »Router-Netzwerke und Browsing«), Informationen zum Datei-Locking und die WINS-Datenbank (siehe Kapitel 18, »NetBIOS-Namen ohne Broadcasts auflösen«).
Einer der größten Vorteile der autoconf-Unterstützung liegt darin, dass Sie nicht viele Einzelheiten über Ihr Betriebssystem angeben müssen. In einem Makefile vor Version 2.0 müssen Sie die Parameter in dem Abschnitt des Makefile auskommentieren, der sich auf Ihr Betriebssystem bezieht. Der folgende Abschnitt gilt z.B. für Linux-Installationen, die Passwort-Shadowing benutzen, aber nicht PAM. Die Variablen FLAGSM und LIBSM wurden vorher durch ein vorangestelltes # ebenso auskommentiert wie alle betriebssystemspezifischen Abschnitte:
# Dies gilt für Linux mit Shadow-Passwörtern ohne PAM!Ein weiterer Parameter, dessen Einstellung oft nützlich ist, ist die Variable CC. Standardmäßig ist CC für die Benutzung des cc-Compilers eingerichtet. Wollen Sie stattdessen den gcc-Compiler benutzen, müssen Sie die Zeile auskommentieren, in der es heißt: CC = gcc.
Neben der Einrichtung der Makefile-Variablen müssen Sie vielleicht noch einige unternehmensspezifische Werte im Header local.h einstellen, der sich im Verzeichnis /source befindet. Die Datei selbst und die Makros sind weitestgehend selbsterklärend. In der Regel ist es besser, die Datei so zu belassen, wie sie ist, es sei denn, Sie sind sich sicher, dass Sie etwas ändern müssen.
Ein Makro, das ich jedoch regelmäßig ändern musste, war MAX_OPEN_FILES. Der Standardwert in Versionen vor 2.0 ist hier 100. Aufgrund einiger Umschreibungen des Codes wurde der neue Samba-Code in Hinsicht auf den Umgang mit Dateien wesentlich effizienter gestaltet. Die Standardeinstellung für die Version 2.0 ist 10.000.
Ein Unternehmen, für das ich den Support lieferte, benutzte eine freigegebene Datenbank, und das Front End musste etwa 150 Dateien gleichzeitig öffnen. Ich löste mein Problem, indem ich den Wert für die maximale Anzahl offener Dateien auf 200 setzte. Offensichtlich gibt es mit der Version 2.0 keine derartigen Probleme! Ein anderer bemerkenswerter Unterschied ist, dass in der Version 2.0 diese Einstellung auch über einen Runtime-Parameter in der Datei smb.conf eingerichtet werden kann.
Nachdem Sie die notwendigen Änderungen an dem Makefile und der Headerdatei local.h (wenn überhaupt) durchgeführt haben, können Sie die Binaries erstellen, indem Sie make eingeben. Wenn alles gut geht, sollten sich smbd, nmbd und andere Utilities im gleichen Verzeichnis wiederfinden wie die Source-Dateien.
Im Gegensatz zu den Versionen vor 2.0 ist das Kompilieren von Samba 2.0 sehr einfach. Es gibt ein configure-Skript, das sich im Verzeichnis /source befindet. Um die richtige Unterstützung für Ihr Betriebssystem zu aktivieren, wechseln Sie einfach in das Source-Verzeichnis und führen den folgenden Befehl aus:
./configureDas Skript läuft und generiert das entsprechende Makefile für Sie.
Es ist zwar möglich, das erzeugte Makefile manuell zu editieren und Variablen einzustellen, aber es ist einfacher, einige der Optionen als Befehlszeilenparameter zu spezifizieren. Wenn Sie Informationen über die verfügbaren Optionen brauchen, geben Sie ./configure --help ein.
In Listing 3.1 finden Sie exemplarische Auszüge der Ausgabe. Einige Zeilen habe ich gelöscht, damit das Listing nicht zu lang wird; diese Änderungen sind mit Klammern ({}) gekennzeichnet.
Listing 3.1: Beispielausgabe von ./configure --help
01: Usage: configure [options] [host]Die Liste der Optionen ist relativ lang, aber in der Realität tauchen viele von ihnen als Paar auf: eine für die Aktivierung der Option, die andere für die Deaktivierung. Schauen Sie sich z.B. die Optionen in Zeile 25 und 26 an. Die erste aktiviert automount-Unterstützung und die zweite deaktiviert sie. Sie sollten außerdem beachten, dass das Listing zeigt, welche Optionen standardmäßig aktiviert bzw. deaktiviert sind.
Wenn Sie den Standort des Top-Level-Installationsverzeichnisses (/usr/local/samba) in /usr/samba ändern wollen, geben Sie
--prefix=/usr/sambaals Parameter an, wenn Sie den Befehl configure ausführen. Um alle Standardoptionen für die Erstellung des Makefile zu akzeptieren, starten Sie einfach
./configureDas configure-Skript erstellt ein Makefile im Verzeichnis /source. Jetzt müssen Sie nur noch make eingeben, um die Samba-Binaries zu übersetzen.
Wenn die Binaries fertig sind, egal für welche Samba-Version, können Sie die Dateien in dem Verzeichnis installieren, das durch die Variable prefix (oder BASEDIR) im Makefile spezifiziert ist, indem Sie make install eingeben. Ich setze hier, und auch für den Rest des Buchs, voraus, dass Samba in das Standardverzeichnis /usr/local/samba installiert wird.
Der Samba-Verzeichnisbaum wird, wenn nötig, erzeugt, und die Binaries und anderen relevanten Dateien werden hineinkopiert. Nach Fertigstellung sollten die folgenden Verzeichnisse im Samba-Installationsverzeichnis existieren, es sei denn, Sie haben die Standorte im Makefile geändert:
MANPATH=$MANPATH:/usr/local/samba/man
Wenn Sie sich, aus welchen Gründen auch immer, dafür entscheiden, den Source-Code nicht selbst zu kompilieren oder dies auf Ihrem System nicht können (z.B. wegen eines fehlenden C-Compilers), bietet es sich jetzt an, über die Möglichkeit zu reden, nur die Binärdateien herunterzuladen. In Kapitel 1, »Einführung in Samba«, habe ich die Grundlagen der GPL dargestellt. Eine der Bedingungen der Lizenz ist, dass der Source-Code nicht mit den Binaries verteilt werden, aber auf Anfrage verfügbar sein muss.
Meinen ersten Job als Netzwerkadministrator hatte ich während des Studiums. Ich wusste noch nicht viel und lernte sozusagen »on the job«. Meine Aufgabe bestand darin, ein Computerlabor für Studenten aufzubauen. Eines der Dinge, die ich für das Labor kaufte, war eine Sparc Ultra mit Solaris 2.5.1. Stellen Sie sich mein Erstaunen vor, als ich begann, Software zu installieren, und feststellte, dass Sun keinen C-Compiler mit Solaris 2 lieferte!
Kurz und gut, Binaries können je nach Ihren Bedürfnissen sehr hilfreich sein. Wenn Sie nicht planen, die Standardeinstellungen während der Kompilierung zu ändern oder keine besonders außergewöhnlichen Unternehmensstrukturen haben, spart Ihnen das Herunterladen der Binaries wahrscheinlich einiges an Zeit. Denken Sie daran, dass der Source-Code immer verfügbar ist, falls Sie ihn später doch noch brauchen.
Es gibt eine Mailing-Liste, die speziell für Diskussionen über die Samba-Binärpakete eingerichtet wurde. Die Adresse ist samba-binaries@samba.org. Weitere Informationen über Samba-Mailing-Listen finden Sie unter http://samba.org/listproc.
Sie erhalten eine Samba-Binärdistribution in etwa auf die gleiche Art und Weise wie die Source-Code-Freigabe. Schauen Sie zunächst in die Samba-Homepage ( http://samba.org) und wählen Sie die FTP- oder HTTP-Site, die Ihnen am nächsten liegt. Wenn Sie für das Herunterladen der Dateien HTTP benutzen, folgen Sie wieder dem Download-Link auf der Samba-Mirror-Homepage und suchen Sie nach Informationen über das Herunterladen von Binärpaketen. Wenn Sie FTP benutzen, suchen Sie nach einem Verzeichnis namens bin-pkgs oder Binary_Packages und wählen Sie dann Ihr Betriebssystem und bei der Arbeit mit einem PC gegebenenfalls die Linux-Distribution aus.
Binärpakete sind nicht für alle Plattformen verfügbar, auf denen Samba kompiliert werden kann, und auch nicht immer für die aktuellste Source-Code-Freigabe. Das liegt daran, dass die Pakete auf freiwilliger Basis kompiliert und auf den Server hochgeladen werden. Wenn möglich, werden die Binaries und verbundene Dateien mit den Tools für das native Betriebssystem archiviert. RedHat-Binaries z.B. werden unter Benutzung von RPM gespeichert und Solaris-Binaries im pkgtool-Format verteilt. Es würde den Rahmen dieses Buches sprengen, die Benutzung der Paket-Distributionstools verschiedener Betriebssysteme detailliert darzustellen. Wenn Sie weitere Informationen über das Binär-Distributionstool Ihres Betriebssystems brauchen (Solaris 2.x z.B. benutzt pkgadd und RedHat-Linuxsysteme rpm), lesen Sie bitte die Manpages für das Installationstool durch, welches Sie benötigen.
Sie haben nun die gewünschte Samba-Version heruntergeladen und die Binärdateien zu Ihrer Verfügung. In Kapitel 4, »Installation und Testen der Konfiguration«, werden Sie lernen, eine Beispielinstallation zum Laufen zu bringen.
Sie haben zwei Optionen, wenn Sie Samba installieren wollen. Sie können entweder den Source-Code herunterladen und selbst kompilieren, oder Sie können sich eine Binärversion besorgen, sofern sie für Ihre Plattform verfügbar ist.
Um die Kompilierung von Samba 2.0 vorzubereiten, führen Sie das configure-Skript aus, das sich im Source-Verzeichnis der Distribution befindet, und spezifizieren alle notwendigen Optionen. Für Versionen vor Samba 2.0 müssen Sie das Makefile manuell editieren und die entsprechende Unterstützung für Ihr Betriebssystem einrichten. Sind alle Optionen korrekt eingerichtet, werden sowohl die Version 2.0 als auch alle früheren kompiliert, indem Sie den Befehl make ausführen. Nach Erzeugen der Binaries können Sie diese über den Befehl make install auf Ihrem lokalen System installieren.
Ich habe Samba 2.0 heruntergeladen. Ich habe die Dateien entpackt und make eingegeben, aber das System gibt die Meldung »make: Fatal error: No arguments to build« aus.
Sie müssen vor Ausführung von make das Skript configure laufen lassen.
von Thomas Reuther
Wollen Sie vorerst nicht ganz so tief in die Kunst des Übersetzens der Sourcen einsteigen und erst einmal die bei SuSE-Linux mitgelieferte, schon übersetzte Version von Samba verwenden? Wenn Sie diese Frage für sich mit ja beantworten, dann sind Sie hier genau richtig! Ich werde Ihnen kurz darstellen, welche Schritte Sie durchführen müssen, um das Samba-Paket mit Hilfe des YaST zu installieren. Danach gebe ich Ihnen einen kurzen Überblick, wo sich die installierten Programme und Konfigurationsdateien befinden. Ich werde außerdem beschreiben, welche Schritte Sie vornehmen müssen, um swat zu aktivieren. Schließlich werde ich beispielhaft erläutern, wie Sie Benutzer anlegen und die smb.conf so anpassen können, dass Sie mit Ihrer Konfiguration schnell an das gewünschte Ziel gelangen.
Ich gehe davon aus, dass Sie Ihr SuSE-Linux-System installiert und bereits konfiguriert haben. Sie möchten nun das mitgelieferte Samba-Paket installieren. Melden Sie sich dazu als root an Ihrem System an und starten Sie den YaST. Legen Sie zunächst CD1 ein, wählen Sie dann den Menüpunkt Installation festlegen/starten aus und drücken Sie danach die Eingabetaste.
Abb. 3.4: Starten des YaST in einer Shell
Wählen Sie den Menüpunkt Konfiguration ändern/erstellen aus und drücken Sie die Eingabetaste. Sie sollten nun in das Menü der Serienauswahl gelangt sein und eine ähnliche Darstellung sehen wie in Abbildung 3.5.
Abb. 3.5: Serienauswahl in SuSE-Linux
Das Samba-Paket ist in der Serie n enthalten. Wählen Sie diese Serie deshalb für die Installation aus. Suchen Sie nun mit den Pfeiltasten das Samba-Paket heraus und markieren Sie es mit Hilfe der Leertaste. Es sollte ein großes X vor dem Eintrag erscheinen. Drücken Sie nun so lange [F10], bis der Menüpunkt Installation starten erscheint. Nachdem Sie diesen ausgewählt haben, wird Samba auf Ihrem SuSE-Linux-System installiert und Sie können den Fortschritt der Installation mit verfolgen. Wenn alles erfolgreich verlaufen ist, sollten Sie eine ähnliche Darstellung wie in Abbildung 3.6 sehen.
Abb. 3.6: Ende der Paketinstallation
Wählen Sie nun den Menüpunkt Hauptmenü aus. YaST startet daraufhin SuSEconfig und das installierte Samba-Paket-System wird in Ihrem System eingebunden. Nach Bestätigung der Meldungen von SuSEconfig finden Sie sich im Hauptmenü vom YaST wieder. Wählen Sie nun den Menüpunkt Administration des Systems und dann den Punkt Konfigurationsdatei verändern aus (Abb. 3.7).
Abb. 3.7: Konfigurationsdatei verändern auswählen
Als Nächstes können Sie menügeführt die /etc/rc.config editieren und die Startvariable START_SMB auf yes setzen (Abb. 3.8).
Abb. 3.8: Ende der Paketinstallationl
Damit werden zukünftig beim Start Ihres Linux-Systems auch automatisch smbd und nmbd gestartet. Beenden Sie nach dem Ändern die Maske mit [F10] und verlassen Sie dann den YaST. Sie haben nun bereits das Samba-Paket auf Ihrem SuSE-Linux-System installiert und dafür gesorgt, dass das Startskript für die beiden Samba-Daemons beim Systemstart ausgeführt wird. Als Nächstes werde ich Ihnen nun darstellen, wo Sie die Konfigurationsdateien und Samba-Tools finden und wie Sie vorgehen müssen, um swat zu starten.
Nun wird es Zeit sich einmal anzuschauen, wo YaST die beiden Samba-Daemons, das Startskript und die Konfigurationsdatei smb.conf abgelegt hat. Es gibt also bereits eine Konfigurationsdatei von Samba, die Sie im Grunde nur noch etwas modifizieren müssen, um Ihre persönlichen Freigaben zu erstellen. Welche Möglichkeiten Sie dabei haben, das lesen Sie jedoch am besten in den Kapiteln 5, 6, 7 und 8 dieses Buches nach. Nun aber zu den Dateien im Einzelnen: Die zentrale Konfigurationsdatei smb.conf ist im Verzeichnis /etc zu finden. Dort existiert außerdem auch schon ein Dummy für eine smbpasswd-Datei für den Fall, dass Sie verschlüsselte Passwörter verwenden möchten oder müssen. Genaueres zur Passwortverschlüsselung finden Sie im Kapitel 6.2. Merken Sie sich hier einfach, dass Sie den smbpasswd-Befehl direkt in der Shell ausführen können und dass Ihre damit erzeugten Passwörter verschlüsselt in der /etc/smbpasswd zu finden sind. Somit sollte auch klar sein, wie die Zugriffsrechte auf diese Datei zu setzen sind. Ein ls -al /etc/smbpasswd liefert schnell die Erkenntnis, dass auch hier schon vernünftige Einstellungen vorgenommen wurden, es sei denn, Sie haben Ihr System anders organisiert und müssen nachbessern. Bleibt nun noch die Frage, wo sich der smbd und nmbd sowie das zugehörige Startskript befinden. Die beiden Daemons liegen unter /usr/sbin und das Startskript findet sich unter /sbin/init.d/ und trägt den Namen smb.
Nach einer kurzen Analyse findet man schnell heraus, dass es für die Runlevel 2 und 3 ausgeführt wird. Ich denke, dies ist auch in Ihrem Sinne, ansonsten können Sie an den geeigneten Stellen nachkonfigurieren.
Nun sollten Sie einen Überblick gewonnen haben, wie die Installation von Samba unter SuSE-Linux vorgenommen wird. Sie sollten nun auch in etwa wissen, wo sich die Konfigurationsdateien und Tools auf Ihrem System befinden. Somit ist es jetzt an der Zeit, swat unter SuSE-Linux zu aktivieren.
Eine ausführliche Beschreibung zum grafischen Konfigurationstool swat erhalten Sie im Kapitel 9 dieses Buches. Darüber hinaus finden sich dort neben swat noch einige weitere interessante Administrationstools. Wenn Sie die Sourcen der Tools benötigen, schauen Sie am besten im Internet oder auf der Buch-CD nach. Ich möchte auch hier noch einmal darauf hinweisen, dass bei diesen Tools zur Authentifizierung Klartextpasswörter verwendet werden. Sie sollten somit gegebenenfalls entsprechend vorsichtig damit sein, es sei denn, Ihnen gefällt die Vorstellung, dass irgendjemand (nicht Sie) Ihre Samba-Server aus dem Internet fernbedient.
Gehen wir zunächst einmal davon aus, dass Sie sich darüber keine Gedanken machen müssen und nun swat aktivieren wollen. Führen Sie dazu die folgenden Schritte durch:
Öffnen Sie die /etc/inetd.conf in einem Editor Ihrer Wahl und entfernen Sie die #-Zeichen in den Zeilen mit swat .... wie in Abbildung 3.9 zu sehen ist. Achten Sie außerdem darauf, dass der Eintrag nach /usr/sbin/swat verweist und dass dort auch swat zu finden ist.
Abb. 3.9: Editieren der /etc/inetd.conf
Nun ist es an der Zeit, Ihre Konfiguration ein wenig zu testen. Starten Sie am einfachsten Ihr Linux-System neu oder wechseln Sie die Runlevel entsprechend.
Wenn Sie nun Ihren Web-Browser starten, die IP-Adresse Ihres Samba-Servers angeben und sich mit Port 901 verbinden, sollten Sie swat so benutzen können, wie in Kapitel 9 ausführlich beschrieben wird.
Als Nächstes möchte ich Ihnen kurz exemplarisch darstellen, wie Sie die Benutzerverwaltung mit Hilfe des YaST vornehmen können, um so Ihren Kollegen den Zugang zu Ihrem frisch installierten Samba-Server zu ermöglichen.
Nachdem Sie jetzt Samba konfiguriert haben, benötigen Sie nun auch noch Benutzer, die auf den Samba-Server zugreifen sollen. Zugegeben, eine Benutzerverwaltung mit verschiedenen Benutzern, Gruppen und deren Zugriffsrechten kann sehr schnell auch sehr kompliziert werden. Hier möchte ich deshalb nur darstellen, wie man prinzipiell einen Benutzer einrichtet, der sich dann von einem Windows-Client aus mit dem Samba-Server verbinden kann. Dies und vieles mehr können Sie einfach mit Hilfe des YaST auf Ihrem System einrichten, indem Sie die folgenden Schritte durchführen:
Starten Sie den YaST. Wählen Sie den Menüpunkt Administration des Systems und dann den Menüpunkt Benutzerverwaltung. Sie gelangen nun in eine Eingabemaske, in der Sie Ihre Benutzer auf Ihrem Linux-System einrichten können (Abb. 3.10).
Abb. 3.10: Benutzerverwaltung mit dem YaST
Nachdem Sie mit [F4] den Benutzer angelegt haben, können Sie weitere Benutzer hinzufügen, bevor Sie den YaST wieder verlassen. Wenn Sie Klartextpasswörter verwenden wollen, können Sie direkt mit dem letzten Schritt beginnen. Wollen oder müssen Sie jedoch Passwörter verschlüsseln, sollten Sie nun zunächst den smbpasswd-Befehl anwenden (vgl. Kapitel 6 dieses Buches).
Als letzten Schritt müssen Sie noch die smb.conf anpassen. Erinnern Sie sich noch? Ich sagte zu Anfang, dass sich bereits eine vorkonfigurierte smb.conf im Verzeichnis /etc auf Ihrem System befindet. Diese muss natürlich noch an die Gegebenheiten Ihres Netzwerks angepasst werden. Da die Möglichkeiten dieser Anpassung so vielfältig sind, dass ein sehr großer Teil dieses Buches sich damit beschäftigt, werde ich hier nur das mitgelieferte Beispiel darstellen und bei wichtigen Einstellungen auf die Buchkapitel verweisen. Dies soll Ihnen nur ein wenig beim Einstieg helfen und Ihnen Mut machen, mit Hilfe der anderen Kapitel in diesem Buch an der /etc/smb.conf herumzuexperimentieren. Die Flexibilität von Samba werden Sie erst schätzen lernen, wenn Sie versuchen, Ihre individuellen Lösungen für Ihr Netzwerk zu finden.
Hier nun die versprochene, mit Verweisen kommentierte /etc/smb.conf:
[global] ; Beginn des globalen BereichsIch hoffe, Ihnen mit meinen kurzen Ausführungen den Einstieg in die Installation und Konfiguration des Samba-Servers unter SuSE-Linux etwas erleichtert zu haben. Wenn Sie neugierig geworden sind und mehr wissen wollen, zögern Sie nicht, die Kapitel durchzuarbeiten, die Sie weiter interessieren! Ich wünsche Ihnen bei der Arbeit viel Spaß und Erfolg!
![]()