Inhaltsverzeichnis
Binäre Pakete von Samba gibt es mittlerweile in fast jeder Linux- oder Unix-Distribution. Es gibt auch einige Pakete auf der Samba-Homepage. Lesen Sie bitte in der Bedienungsanleitung Ihres Betriebssystems nach, wie Sie auf Ihrem System Samba installieren können.
Wenn Sie Samba von den Quelldateien selbst installieren möchten, bekommen Sie hier weitere Informationen.
Die Samba-Konfiguration wird in der Datei smb.conf vorgenommen, die Sie üblicherweise unter /etc/samba/smb.conf oder /usr/local/samba/lib/smb.conf finden. Sie können diese Datei selbst editieren oder eine der vielen grafischen Oberflächen nutzen, wie das webbasierte SWAT, das mit Samba mitgeliefert wird.
Die smb.conf nutzt nahezu die gleiche Syntax wie die verschiedenen ini-Dateien von Windows 3.1: Jede Datei enthält verschiedene Abschnitte, wobei diese Abschnitte durch Klammern ([]) getrennt sind. Jeder Abschnitt besteht aus keinem oder mehreren Schlüssel/Wert-Paaren, die durch das Gleichheitszeichen (=) miteinander verbunden werden. Dies ist eine Klartext-ASCII-Datei, die Sie mit ihrem Lieblingseditor bearbeiten können.
Jeder Abschnitt der Datei smb.conf repräsentiert eine Freigabe auf dem Samba-Server, bis auf den Abschnitt „global“. Dieser ist ein spezieller Abschnitt, da er Einstellungen enthält, die den gesamten Samba-Server beeinflussen und nicht nur einzelne Freigaben.
??? enthält eine sehr kleine smb.conf.
Samba an sich besteht aus zwei oder drei so genannten Daemons. Ein Daemon ist eine Unix-Applikation, die im Hintergrund läuft und Dienste zur Verfügung stellt. Ein Beispiel für einen solchen Dienst ist der Apache Webserver, für den der Daemon httpd heißt. Im Falle von Samba gibt es drei Daemons, von denen mindestens zwei benötigt werden.
Der Samba-Server besteht aus folgenden Daemons:
Dieser Daemon behandelt alle Namensregistrierungen und Anfragen zur Namensauflösung. Es ist das primäre Werkzeug zum Durchsuchen eines Netzwerks. Er ist in der Lage, mit jedem UDP-basierten Protokoll umzugehen. Das Kommando nmbd sollte der erste Daemon sein, der im Rahmen des Startvorgangs von Samba geladen wird.
Dieser Daemon behandelt alle TCP/IP-basierenden Verbindungen für datei- und druckbasierende Operationen. smbd befasst sich auch mit der Benutzerauthentifikation und sollte direkt nach dem Start von nmbd aufgerufen werden.
Dieser Daemon sollte gestartet werden, wenn der Samba-Server Mitglied einer Windows-NT4- oder ADS-Domäne (ADS = Active Directory Service) ist. Er ist ebenfalls nötig, wenn Samba in einem Vertrauensverhältnis zu anderen Domänen steht.
Wenn Samba als Paket einer Distribution installiert wird, liegt meist ein Start-Stopp-Skript für den ordnungsgemäßen Start von Samba vor. Dies ist aber eher ein positives Merkmal einer Distribution. Bitte konsultieren Sie das Administrationshandbuch Ihres Betriebssystems bezüglich der Einbindung eines solchen Start-Stopp-Skripts.
In einem separaten Unterverzeichnis der Distribution gibt es Beispiele von Konfigurationsdateien. Es ist empfehlenswert, diese Beispiele aufmerksam zu lesen, um zu verstehen, wie die verschiedenen Optionen in der Praxis zusammenarbeiten. Um eine Zusammenfassung aller möglichen Optionen zu sehen, rufen Sie bitte die Manpages auf. Es lohnt sich, die vorgegebene Datei smb.conf.default als Grundlage der persönlichen Konfiguration zu verwenden, da sie viele Kommentare zu den verschiedenen Optionen enthält.
Die einfachste Konfiguration sollte mindestens ??? enthalten.
Beispiel 2.2. Eine weitere vereinfachte smb.conf-Datei
| [global] |
| workgroup = MITTELERDE |
| [homes] |
| guest ok = no |
| read only = no |
Diese Konfiguration erlaubt es jedem, der einen Benutzeraccount auf dem Server hat, sich unter Verwendung seines Login-Namens mit der Freigabe homes zu verbinden. (Hinweis: Der Name der Arbeitsgruppe/Domäne sollte hier so wie gewünscht gesetzt werden; der Standard für diese Option ist WORKGROUP.)
Stellen Sie sicher, dass Sie die Datei smb.conf im richtigen Verzeichnis gespeichert haben.
Für weitere Informationen zu den Sicherheitseinstellungen für [homes] lesen Sie bitte ???.
Es ist wichtig, Ihre Konfigurationsänderung mit testparm zu überprüfen. Wenn Ihre Konfiguration richtig ist, sollte testparm eine Liste der verfügbaren Services auflisten, andernfalls wird es eine Fehlermeldung ausgeben. Überprüfen Sie Ihre Konfiguration mit:
root# testparm /etc/samba/smb.conf
testparm wird Ihre Konfiguration überprüfen und mögliche unbekannte Parameter oder Fehler in der Syntax ausgeben.
Es ist sehr empfehlenswert, testparm nach einer Änderung der smb.conf auszuführen.
SWAT ist eine Weboberfläche, mit der die Konfiguration von Samba einfacher wird. Es kann möglich sein, dass SWAT nicht in der Paketinstallation Ihrer Distribution enthalten ist. Dann finden Sie es aber meist in einem separaten Paket. Bitte beachten Sie die SWAT-Manpage, wenn Sie SWAT aus den Quelldateien kompilieren, installieren und konfigurieren wollen.
Um SWAT zu starten, verwenden Sie einfach Ihren liebsten Webbrowser und folgende URL http://localhost:901/. Ersetzen Sie localhost durch den Namen des Computers, auf dem Sie Samba installiert haben, wenn Sie den Webbrowser von einem anderen PC als den Samba-Server starten.
SWAT kann von jedem Browser eines IP-Netzes aus genutzt werden, aber beachten Sie, dass bei Verbindungen von einem entfernten Rechner die Gefahr besteht, dass Ihre Passwörter abgehört werden, da diese im Klartext über das Kabel transportiert werden.
Weitere Informationen über SWAT können Sie hier finden: ???
.Verwenden Sie folgenden Befehl, um die verfügbaren Freigaben Ihres Samba-Servers aufzulisten:
$ smbclient -L yourhostname
Sie sollten nun eine Liste der verfügbaren Freigaben Ihres Servers sehen - wenn nicht, dann ist etwas nicht richtig konfiguriert. Diesen Befehl können Sie ebenfalls nutzen, um die Freigaben anderer Server z.B. Windows 2000 zu betrachten.
Wenn Sie User-level-Sicherheit als Sicherheit für Ihren Server gewählt haben, sollten Sie nach der Eingabe des Befehls nach einem Passwort für Ihren Benutzer gefragt werden, bevor Sie die Auflistung sehen. Lesen Sie die Manpage zu smbclient für weitere Informationen dazu. Sie können den Befehl mit der Option -N dazu bringen, auch ohne Passwort die Freigabeliste anzuzeigen.
Verwenden Sie folgenden Befehl:
$ smbclient //ihrhostname/eindienst
Normalerweise ist ihrhostname der Name des Hosts, auf dem sich der smbd befindet, und eindienst ist ein beliebiger Dienst, den dieser Host zur Verfügung stellt. Versuchen Sie es mit Ihrem Benutzernamen, wenn Sie einen Abschnitt [homes] in Ihrer smb.conf haben.
Beispiel: Wenn der UNIX-Host bambi heißt und ein gültiger Login-Name fred ist, könnten Sie Folgendes schreiben:
$ smbclient //bambi/fred
Nun, da Samba lokal richtig funktioniert, können Sie versuchen, sich von einem anderen Rechner aus an Ihrem Samba-Server anzumelden. Innerhalb weniger Minuten sollte der Samba-Server in der Netzwerkumgebung Ihres Windows-Subnetzes sichtbar sein. Versuchen Sie, Ihren Samba-Server dort zu finden, oder versuchen Sie, eine Netzwerkverbindung mit Ihrem Server herzustellen.
Um eine Netzwerkverbindung unter DOS, Windows oder OS/2 herzustellen, führen Sie folgenden Befehl aus:
C:\> net use d: \\servername\dienst
Versuchen Sie zu drucken:
C:\> net use lpt1: \\servername\druckdienst
C:\> print filename
Sie können hier Hilfe finden oder aber, wenn es danach immer noch nicht funktioniert, lesen Sie bitte ???. Samba wurde bereits auf Tausenden von Systemen installiert, daher könnte es hilfreich sein, im Internet zu recherchieren, ob jemand anderes auch ihr Problem hatte und einen Weg gefunden hat, es zu lösen.
Folgende Fragen und Themen tauchen immer wieder in der Samba-Mailing-Liste auf.
Samba enthält drei Kern-Programme: nmbd ist der Namensserver-Daemon, smbd ist der Server-Message-Daemon, und winbindd ist der Daemon, der mit Domänen-Controllern arbeitet.
Wenn Samba nicht als WINS-Server fungiert, sollte es nur eine Instanz des nmbd-Daemons auf Ihrem System geben. Andernfalls sollten zwei nmbd-Prozesse laufen, von denen einer die WINS-Anfragen behandelt.
smbd behandelt alle Verbindungsanfragen. Er ruft sich selbst für jede neue Client-Verbindung auf. Das ist der Grund, warum Sie mehrere Prozesse von smbd sehen können, nämlich einen für jede Client-Verbindung.
winbindd läuft in einem oder zwei Prozessen, abhängig davon, ob er im split mode läuft (in diesem Fall hat er zwei Instanzen).
Eine Fehlermeldung wird in der Log-Datei beim Starten von smbd angezeigt: „open_oplock_ipc: Failed to get local UDP socket for address 100007f. Error was Cannot assign requested.“
Ihr Loopback-Interface funktioniert nicht korrekt. Vergewissern Sie sich, dass es korrekt konfiguriert wurde. Das Loopback-Interface ist eine interne (virtuelle) Netzwerkkarte mit der IP-Adresse 127.0.0.1. Lesen Sie in der Dokumentation Ihres Betriebssystems nach, wie Ihr Loopback-Interface einzurichten ist.
Dieser Fehler kann von folgenden Fehlkonfigurationen verursacht werden:
Sie haben einen nicht existenten Pfad für eine Freigabe in der smb.conf angegeben.
Der Benutzer, mit dem Sie versuchen, auf eine Freigabe zuzugreifen, hat nicht die erforderlichen Rechte, um auf den UNIX-Pfad zuzugreifen. Sowohl das Leserecht (r) als auch das Zugriffsrecht (x) sollten dem Benutzer eingeräumt werden.
Die Freigabe, auf die Sie zuzugreifen versuchen, existiert nicht.