IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Server/Internet/Netzwerk - Installation von Samba



Installation von Samba

Nach dem Artikel "Grundlagen von Samba" soll dieser Artikel der weiteren Konfiguration dienen. Samba ist eine tolle Sache, nur gibt es einiges bei der Installation zu beachten.


Autor: Mario Spänhoff (spaenhoff)
Datum: 23-01-2002, 19:08:08
Referenzen: http://de.samba.org/samba/samba.html
http://www.oreilly.com/catalog/samba/noframes.html
Schwierigkeit: Fortgeschrittene
Ansichten: 8211x
Rating: 4.33 (3x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Die Installation

Die jeweils aktuellste Version von Samba findet sich unter www.samba.org als tar Archiv. Zwecks einfacherer Installation empfiehlt es sich aber, zunächst auf Seite des Distributors nachzuschauen, ob eventuell eine neue Version schon als Paket vorliegt, die sich dann (z.B. bei S.u.S.E über Yast) einbinden lässt.

Bei S.u.S.E wird Samba nach der Installation des betreffenden Paketes einfach durch Setzen der Variablen START_SMB auf yes in der Datei /etc/rc.config aktiviert und steht dann beim nächsten Neustart zur Verfügung. Der Neustart läßt sich vermeiden, indem man die Programme von Hand startet, was sich auch empfiehlt, wenn man Samba nur gezielt starten und beenden will. Das geschieht mit dem Aufruf des Startskriptes /sbin/init.d/smb mit einem der Parameter start, stop oder restart.

Im Folgenden eine kurze Beschreibung der Installation von Samba. Weitere, ausführlichere Installationsanleitungen finden sich in der Sambadokumentation unter UNIX_INSTALL.txt.

Nach dem Entpacken (tar -xvzf samba-latest.tar.gz) wird das Paket zunächst mit dem Aufruf von ./configure an die Version des Betriebssystems angepasst. Hierbei können sehr viele Optionen angegeben werden, die dann die Installationseinstellungen des Paketes ändern (wie z.B. die Pfade); eine Kurzbeschreibung der Optionen erhält man mit ./configure -help. Das Programm erzeugt ein Makefile, also ist die Änderung der Pfade auch noch in diesem möglich. Es empfiehlt sich beispielsweise einige Pfade wie z.B. den Pfad der Konfigurationsdatei smb.conf auf /etc/smb.conf zu ändern, da dies ein Quasistandard ist, ebenso wie die Pfade /var/log/samba-log für die Logdateien und /var/lock/samba für die Lockdateien. Je nach Geschmack kann man hier aber auch mit symbolischen Links arbeiten. Danach ist ein Aufruf von make nötig, um die Quelldateien zu kompilieren. Der Aufruf von make install kopiert dann die Dateien standardmäßig in das Verzeichnis /usr/local/samba.

Als nächstes muss dafür gesorgt werden, dass Samba (d.h. die Programme smbd und nmbd) auch beim Systemstart gestartet wird. Das erfolgt entweder direkt (geringfügig schnellere Antwortzeiten der Dämonen) über ein Skript für die jeweiligen Runlevel (s.o.) oder über den inetd (dies hat den Vorteil, dass sie im Falle eines Absturzes automatisch neu gestartet werden können). Um die Dämonen mit dem inetd zu starten, sind folgende, evtl. auf die Pfade angepasste, Einträge in der Datei in der Datei /etc/inetd.conf nötig:

PC file and print sharing)
netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd

dazu wird allerdings vorrausgesetzt, dass die services netbios-ssn und netbios-ns in der Datei /etc/services definiert sind:

netbios-ssn 139/tcp
netbios-ns 137/udp

Dem inetd kann jetzt mit dem Befehl kill -HUP 1 mitgeteilt werden, die geänderte Konfiguration sofort zu berücksichtigen und Samba zu starten, was ansonsten beim Neustart automatisch geschehen würde.

Die Konfiguration

Die gesamte Samba Konfiguration wird über die Datei smb.conf (standardmäßig im Verzeichnis /etc) gesteuert. Ähnlich wie bei den von Windows bekannten .ini-Dateien (die ja allerdings einer vom Aussterben bedrohten Art angehören), existieren in dieser Datei mehrere Abschnitte, in denen dann jeweils Variablen zur Konfiguration gesetzt werden. Jeder Abschnitt stellt eine Freigabe dar, wobei drei Abschnitten eine besondere Bedeutung zukommt:

global:
Diese Einstellungen gelten für Samba allgemein und somit für alle Resourcen.
homes:
Hiermit wird einem Benutzer, der von einem anderen Rechner aus zugreift, sein (Unix-)Home-Verzeichnis zur Verfügung gestellt. Es wird für jeden Eintrag in der smbpasswd Datei ein Eintrag erzeugt, in der Browseliste sieht aber jeder Benutzer nur sein eigenes Home-Verzeichnis.
printers:
Hierdurch wird jeder auf dem Unix-Rechner eingetragene Drucker exportiert. Jeder von diesem Share generierte Eintrag erscheint in der Browseliste.
Sollen nicht automatisch alle Drucker freigegeben werden, so muss der Parameter 'load printers = no' gesetzt werden. Man kann dann einzelne shares durch Angabe von 'printable = yes' als Drucker ausweisen, wobei der Pfad hier den Pfad zum Spoolverzeichnis eines Druckers angeben muss und der Sharename ein in der Datei /etc/printcap definierter Drucker ist.

Im folgenden ein kommentiertes Beispiel einer einfachen Konfiguration:

[global]
workgroup = SPAENHOFF
Name der Arbeitsgruppe oder der Domäne
guestaccount = nobody
für bestimmte Aufgaben
(siehe Abschnitt "Das SMB-Sicherheitskonzept")

[testshare]
"testshare"
path = /tmp/test
comment = Beispielverzeichnis
no
der Netzwerkumgebung sichtbar sein
gemachten shares unter Windows
Gastzugang zu diesem share, es findet keine
legt fest, mit welchen Zugriffsrechten Dateien erstellt
Informationen zu den möglichen Einstellungen finden sich in der man-page zu smb.conf bzw. in SWAT. Einige weitere Optionen werden auch noch im Verlauf des Dokuments genannt.

SWAT

Da die Konfigurationsdatei mittlerweile eine riesige Anzahl von Optionen erlaubt (man beachte die Länge der man-page!), gibt es natürlich für die Pflege der smb.conf einige grafische Fontends, dort unter GUIS). Das bekannteste heisst SWAT (Samba Web Administration Tool), wird mit Samba mitgeliefert und ist deshalb immer auf einem aktuellen Stand. Es handelt sich um ein Browser basiertes Tool, mit dessen Hilfe man Samba über einen Internet-Browser wie Netscape konfigurieren kann. Zur Aktivierung (SWAT wird bei der Installation gleich mitkopiert) benötigt man auf dem Server die zwei folgenden Einstellungen:

In der Datei /etc/services muß der Eintrag 'swat 901/tcp' vorhanden sein und in /etc/inetd.conf muß SWAT mit 'swat stream tcp nowait.400 root /usr/sbin/swat swat' gestartet werden. Nach einem Neustart des inetd erreicht man das Tool über die URL 'http://localhost:901'.

Hier hat man die Möglichkeit alle vorhanden Optionen der Datei smb.conf einzustellen und kann sich außerdem gleich die jeweiligen Beschreibungen aus den man-pages im HTML-Format anschauen. Desweiteren bietet SWAT die Möglichkeit einer Statusabfrage (offene Verbindungen) und des Neustarts des smbd Dämons (bei Änderung der Konfiguration).

Verschiedene Fehlerquellen

Die folgende Diagnosemethode, verkürzt und von mir sehr frei ins Deutsche übersetzt, basiert auf der Anleitung von Andrew Tridgell, zu finden in der Samba Dokumentation unter DIAGNOSIS.txt.

Falls beim Zugriff auf den Samba Server Probleme auftreten sollten, muss man am besten der Reihe nach alle möglichen Fehlerquellen untersuchen.

Für die folgenden Tests sei angenommen, dass ein Samba Server namens 'HOMER' und ein Windows-Client namens 'BART' existieren. Auf dem Server existiert ein share namens 'test', dass ungefähr so angelegt wurde:

[test]
 

comment = Testverzeichnis
 path = /tmp
 read only = yes

Desweiteren funktioniert die Namensauflösung (sofern überhaupt vorhanden) richtig, also die Nameserver sind z.B. richtig eingetragen, bzw. die Eintragungen in der Datei /etc/hosts sind korrekt.

  1. Syntax prüfen: In dem Verzeichnis, in dem sich die smb.conf Datei befindet, mit dem Aufruf testparm smb.conf die Syntax der Konfigurationsdatei testen lassen.

  2. Generelle Erreichbarkeit: Mit dem Kommando ping HOMER vom Client aus (Eingabeaufforderung) und ping BART feststellen, ob das TCP/IP Netzwerk richtig konfiguriert ist.

  3. Samba lokal testen: Der Aufruf des Kommandos smbclient -L HOMER am Server sollte eine Liste seiner verfügbaren shares erscheinen lassen. Wenn die Meldung "bad password" erscheint, ist entweder ein falscher 'hosts allow', 'hosts deny' oder 'valid users' Eintrag in der smb.conf, oder der 'guest account' ist ungültig. Es empfielt sich, ihn mit testparm rauszufinden und zu testen und alle 'hosts allow/deny' und 'valid users' auszukommentieren. Eine Ursache für die Meldung "connection refused" ist, dass der smbd nicht läuft. Das lässt sich leicht mit ps ax rausfinden, zudem ist zu überprüfen, ob der sich der netbios-ssn Port im LISTEN Zustand befindet (netstat -a).

  4. NetBIOS Namensauflösung testen: Die korrekte Funktion/Installation des Client lässt sich mit dem Aufruf von nmblookup -B BART '*' testen, welcher die IP-Adresse des PCs BART zurückgeben sollte. Dassselbe sollte man nun mit einem Broadcast testen: nmblookup -d 2 '*' sollte mehrere SMB-Clients dazu bewegen sich zu melden ("got a positive name query response"), so sie denn auch vorhanden sind. Falls dies nicht funktioniert, sollte man mal mit der 'interfaces' Option in der smb.conf herumexperimentieren und seine IP-Adresse, die Broadcast-Adresse und die Netzmaske manuell einstellen.

  5. Freigabe lokal testen: Nun verbindet man sich mit dem Kommando smbclient //HOMER/TEST mit der Freigabe und gibt als Passwort das des Benutzers ein, unter dessen Kennung man gerade angemeldet ist. Dabei gilt es zu beachten, dass (außer bei nichtverschlüsselter Passwortübertragung) dieser Benutzer auch als Sambabenuzter existieren muss . Alternativ kann man auch den Benutzernamen explizit angeben. Wenn das funktioniert, landet man am smb> Prompt, wo man mit den Befehlen dir, get und put arbeiten kann. Wenn man den dir Befehl verwendet muss auch die Angabe für den freien Speicherplatz stimmen. Landet man nicht an diesem Prompt, kommt es auf die Fehlermeldung an, die man erhält. Ein "invalid network name" deutet daraufhin, dass das share TEST nicht richtig in der smb.conf konfiguriert wurde. Ein "bad password" könnte folgende Ursachen haben:
    • Die Unterstützung des Passwortsystems (z.B. Shadow) wurde beim Kompilieren des smbd nicht berücksichtigt.
    • Die 'valid users' Konfiguration ist nicht korrekt.
    • Das Passwort enthält Groß- und Kleinbuchstaben und das 'password level' ist nicht richtig eingestellt.
    • Die 'path' Angabe in der smb.conf ist nicht richtig.
    • Die Passwortverschlüsselung ist aktiviert und die SMB-Passwortdatei ist nicht vorhanden bzw. stimmt nicht.

  6. Erreichbarkeit vom Client aus testen: Der Befehl net view \\HOMER am PC sollte eine Liste aller Freigaben auf dem Server hervorbringen. Die Fehlermeldung "network name not found" zeigt an, dass die NetBIOS Namensauflösung nicht funktioniert, was für gewöhnlich auf eine Fehlfunktion des nmbd hindeutet. Eine der folgenden Methoden sollte das Problem lösen:
    • die nmbd Installation in Ordnung bringen
    • die IP-Adresse von 'HOMER' in Feld 'WINS Server' des PCs eintragen (TCP/IP Eigenschaften) wenn Samba als WINS Server agiert
    • die Windows Namensauflösung über DNS aktivieren (TCP/IP Eigenschaften), falls ein DNS Dienst aktiv ist
    • HOMER in der Datei lmhosts des PC eintragen
    Auch sollte man nicht vergessen, dass sich der Client immer mit dem Namen, unter dem man sich angemeldet hat, mit dem Server zu verbinden versucht, weshalb man sicherstellen sollte, dass dieser Zugang auch auf dem Server existiert (/etc/passwd und Samba-Passwortdatei).

  7. Freigabe vom Client aus testen: Nach Eingabe des Kommandos
    net use x: \\HOMER\TEST und des Passworts sollte die Meldung "Der Befehl wurde erfolgreich ausgeführt" erscheinen. Sollte dies nicht der Fall sein, ist entweder der PC nicht richtig eingerichtet oder die smb.conf nicht in Ordnung. Weiterhin besteht noch die Möglichkeit, dass der Server nicht feststellen kann, mit welchem Usernamen man sich anmelden will. Dann hilft evtl. die Option 'user' in der smb.conf, wobei hier der User eingetragen werden muss, mit dem man sich unter Windows anmeldet und dessen Passwort man beim Verbinden mit angibt.

  8. Abschließender Test: Mit dem Dateimanager sollte man nun nach Herzenslaune auf dem Samba Server herumwüten. Dieser sollte in der Browseliste auftauchen und auf einen Doppelklick alle verfügbaren shares zur Schau stellen. Erhält man hierbei die Meldung "Ungültiges Passwort", so könnte das z.B. daran liegen, dass man unter WinNT/Win98 versucht, auf einen Server zuzugreifen, der nichtverschlüsselte Passworte verwendet. Daher sollte man entweder unter Samba die Verschlüsselung aktivieren, in den 'security share' Modus wechseln, oder einen Passwortserver für den 'security = server' Modus angeben.


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0