Inhaltsverzeichnis
Es gibt viele Informationsquellen in Form von Mailinglisten, RFCs und Dokumentation. Die Dokumentation, die mit der Samba-Distribution geliefert wird, enthält gute Erklärungen zu allgemeinen Samba-Themen wie Browsing.
Bei der Arbeit in Samba-Netzwerken ist es oft nicht sofort klar, was der Grund für ein bestimmtes Problem ist. Samba selbst bietet ziemlich hilfreiche Informationen an, aber in manchen Fällen werden Sie möglicherweise auf einen Sniffer zurückgreifen müssen. Ein Sniffer ist ein Programm, das in Ihrem LAN lauscht, die empfangenen Daten analysiert und sie auf dem Bildschirm anzeigt.
Eines der besten Diagnose-Tools, um Probleme zu debuggen, ist Samba selbst. Sie können die Option -d für smbd und nmbd verwenden, um den debug level festzulegen, auf dem sie ausgeführt werden sollen (siehe auch die Manpages für smbd, nmbd und smb.conf für mehr Informationen zu den Debugging-Optionen). Der Debug-Level reicht von 1 (Standard) bis zu 10 (100 zum Debuggen von Passwörtern).
Eine weitere hilfreiche Methode des Debugging ist es, Samba mit dem Flag gcc -g zu kompilieren. Dies wird Debug-Informationen in die Binaries mit einschließen, und erlaubt es, gdb an die laufenden smbd/nmbd-Prozesse anzudocken. Um dies auf einer NT-Workstation zu tun, lassen Sie zuerst die Workstation die Verbindung herstellen. Das Drücken von „ctrl-alt-delete“ und der Wechsel zum Domänen-Eintrag sollten ausreichen (zumindest beim ersten Anmelden an der Domäne), um den Parameter LsaEnumTrustedDomains zu generieren. Danach hält die Workstation eine offene Verbindung, und es wird ein smbd-Prozess laufen (vorausgesetzt, dass Sie keinen wirklich kurzen smbd-Timeout gesetzt haben). Also können Sie zwischen dem Drücken von ctrl-alt-delete und dem tatsächlichen Eingeben Ihres Passworts gdb starten und fortsetzen.
Einige Samba-Befehle, die nähere Betrachtung verdienen, sind:
$ testparm | more
$ smbclient -L //{Netbios-Name des Servers}
Tcpdump war der erste UNIX-Sniffer mit SMB-Support. Es ist ein Befehlszeilen-Tool, und mittlerweile hängt seine SMB-Unterstützung etwas hinter der von ethereal und tethereal zurück.
Ethereal ist ein grafischer Sniffer, der sowohl für UNIX (Gtk) als auch für Windows verfügbar ist. Ethereals SMB-Unterstützung ist ziemlich gut. Details zu ethereal finden Sie in dem gut geschriebenen Ethereal User Guide.
Überwachen Sie die Daten auf den Ports 137, 138, 139 und 445. Verwenden Sie beispielsweise den Filter port 137, port 138, port 139 oder port 445, wie in ??? zu sehen.
Eine Konsolenversion von ethereal ist auch verfügbar. Sie heißt tethereal.
Um Dinge unter Microsoft Windows NT zu verfolgen, verwenden Sie den Netzwerk-Monitor (auch bekannt als Netmon) von den Microsoft Developer Network-CDs. Er ist auch auf der Installations-CD des Windows NT-Servers und auf den SMS-CDs enthalten. Die mit SMS gelieferte Version erlaubt es, Pakete zwischen zwei Rechnern zu dumpen (d.h., die Netzwerkkarte im Promiscuous Mode zu betreiben). Die Version auf der Windows NT Server-CD erlaubt nur das Monitoring von Netzwerkverkehr zur lokalen NT-Maschine und Broadcasts im lokalen Subnetz. Beachten Sie, dass Ethereal Dateien im Netmon-Format lesen und schreiben kann.
Das Installieren von Netmon auf einer NT-Workstation erfordert einige Schritte. Die folgenden Anweisungen gelten für die Installation von Netmon V4.00.349, der mit dem Microsoft Windows NT Server 4.0 geliefert wird, auf Microsoft Windows NT Workstation 4.0. Der Ablauf sollte für andere Versionen von Netmon für Windows NT ähnlich sein. Sie werden sowohl die NT Server 4.0-Installations-CD als auch die Workstation 4.0 Installations-CD dazu brauchen.
Zuerst müssen Sie Network Monitor Tools and Agent auf dem NT-Server installieren:
Gehen Sie auf -> -> -> -> -> .
Wählen Sie Network Monitor Tools and Agent, und klicken Sie auf .
Klicken Sie im Network Control Panel auf .
Legen Sie die NT Server 4.0-Installations-CD ein, wenn Sie dazu aufgefordert werden.
An diesem Punkt sollten die Netmon-Dateien in %SYSTEMROOT%\System32\netmon\*.* existieren. Es gibt auch zwei Unterverzeichnisse: parsers\, das die notwendigen DLLs enthält, um den Netmon-Paket-dump zu parsen, und captures\.
Um die Netmon-Tools auf einer NT-Workstation zu installieren, müssen Sie zuerst den Network Monitor Agent von der Workstation 4.0-Installations-CD installieren.
Gehen Sie auf -> -> -> -> -> .
Wählen Sie Network Monitor Agent, und klicken Sie auf .
Klicken Sie im Network Control Panel auf .
Legen Sie die NT Server 4.0-Installations-CD ein, wenn Sie dazu aufgefordert werden.
Kopieren Sie jetzt die Dateien vom NT Server in %SYSTEMROOT%\System32\netmon nach %SYSTEMROOT%\System32\netmon auf der Workstation, und setzen Sie die Berechtigungen so, wie Sie sie für Ihre Installation angemessen halten. Sie brauchen Administrator-Rechte auf der NT-Maschine, um Netmon auszuführen.
Um Netmon unter Windows 9x/Me zu installieren, installieren Sie den Network Monitor Agent von der Windows 9x/Me-CD (\admin\nettools\netmon). Es gibt eine README-Datei bei den Netmon-Treiber-Dateien auf der CD, wenn Sie Informationen dazu brauchen. Kopieren Sie die Dateien von einer bestehenden Netmon-Installation.
Sehen Sie, wie Scott Merrill das Verhalten eines BDCs simuliert: http://www.skippy.net/linux/smb-howto.html.
Eine FTP-Site für ältere SMB-Spezifikationen ist: ftp://ftp.microsoft.com/developr/drg/CIFS/
Es gibt eine Anzahl von Mailinglisten im Zusammenhang mit Samba. Gehen Sie auf http://samba.org, klicken Sie auf Ihren nächsten Mirror, dann auf Support und auf Samba-related mailing lists.
Für Fragen im Zusammenhang mit Samba-TNG, einer speziellen Version von Samba, gehen Sie auf http://www.samba-tng.org/. Es wurde darum gebeten, Fragen zu Samba-TNG nicht in die Mainstream-Samba-Listen zu posten.
Wenn Sie eine Nachricht an eine der Listen senden, beachten Sie bitte folgende Richtlinien:
Erinnern Sie sich immer daran, dass die Entwickler Freiwillige sind. Sie werden nicht bezahlt, und sie garantieren niemals, ein bestimmtes Feature in einer bestimmten Zeit zu produzieren. Alle Zeitangaben sind „Schätzwerte“ und nicht mehr.
Erwähnen Sie immer, welche Version von Samba Sie einsetzen und unter welchem Betriebssystem diese läuft. Sie sollten die relevanten Abschnitte Ihrer smb.conf-Datei auflisten, zumindest die Optionen in [global], die den PDC-Betrieb beeinflussen.
Wenn Sie Samba via SVN (Subversion) bezogen haben, erwähnen Sie bitte zusätzlich zur Version das Datum, an dem Sie zuletzt ein „svn checkout“ durchgeführt haben.
Versuchen Sie, Ihre Fragen klar und kurz zu halten. Viele langatmige Konvolute werden gelöscht, bevor sie überhaupt ganz gelesen werden! Senden Sie keine HTML-codierten Nachrichten. Die meisten Leute auf Mailing-Listen löschen diese einfach.
Wenn Sie eines dieser hübschen „Ich bin auf Urlaub!“-Dinger verwenden, während Sie weg sind, stellen Sie sicher, dass es so konfiguriert ist, nicht auf Mailinglisten-Verkehr zu antworten. Auto-Responses auf Mailinglisten ärgern Tausende Leute, die mit solch schlechter Netiquette konfrontiert werden.
Vermeiden Sie das „Cross-Posting“. Finden Sie heraus, welche die beste Liste für Ihre Fragen ist, und sehen Sie, was passiert. Posten Sie nicht in den Listen samba UND samba-technical. Viele der Leute, die in diesen Listen aktiv sind, haben mehrere Listen abonniert und ärgern sich darüber, dieselbe Nachricht zweimal oder noch öfter zu sehen. Oft wird jemand eine Nachricht sehen, sich denken, dass diese besser in einer anderen Liste behandelt würde, und die Nachricht für Sie weiterleiten.
Sie könnten auszugsweise Log-Dateien einschließen, die auf einem Debug-Level bis zu 20 geschrieben wurden. Bitte senden Sie nicht die ganze Log-Datei, sondern nur so viel, um den Kontext für die Fehlermeldungen zu schaffen.
Wenn Sie einen kompletten Netmon-Trace haben (vom Öffnen der Pipe bis zum Fehler), können Sie auch die *.CAP-Datei senden.
Bitte überlegen Sie sorgfältig, bevor Sie ein Dokument an eine E-Mail hängen. Erwägen Sie, die relevanten Teile in die E-Mail zu kopieren. Die Samba-Mailing-Listen gehen an eine riesige Zahl von Menschen. Brauchen diese alle eine Kopie Ihrer smb.conf in ihrem Attachment-Verzeichnis?
Um Ihren Namen von einer Samba-Mailingliste löschen zu lassen, gehen Sie dorthin, wo Sie ihn in die Liste haben eintragen lassen. Gehen Sie auf http://lists.samba.org, klicken Sie auf Ihren nächsten Mirror, klicken Sie auf Support und dann auf Samba related mailing lists.
Bitte senden Sie keine Nachrichten an die Liste, in denen Sie darum bitten, von der Liste entfernt zu werden. Sie werden nur an obige Adresse verwiesen werden (außer dieser Prozess ist aus irgendeinem Grund gescheitert).