Inhaltsverzeichnis
Es gibt viele und verschiedene Meinungen über den Nutzen von SWAT. Gleichgültig wie viel Mühe man sich gibt, ein perfektes Konfigurationswerkzeug zu erstellen; die Benutzung ist eine Frage des persönlichen Geschmacks. SWAT ist ein Werkzeug, das eine web-basierte Konfiguration von Samba ermöglicht. Es beinhaltet einen Wizard zur schnellen Konfiguration von Samba, besitzt eine kontextabhängige Hilfe für jeden Parameter der smb.conf, überwacht den aktuellen Zustand der Verbindung und erlaubt eine netzwerkweite Passwortverwaltung für MS Windows.
SWAT ist Teil der Samba-Suite. Das Hauptprogramm heißt swat und wird über xinetd gestartet (siehe ??? für Einzelheiten).
SWAT verwendet Samba-eigene Komponenten, um die von der jeweiligen Samba-Version unterstützten Parameter zu lokalisieren. Anders als externe Werkzeuge und Hilfsmittel bleibt SWAT bei Parameteränderungen auf dem aktuellsten Stand. SWAT eine bietet kontextabhängige Hilfe fuer jeden Konfigurationsparameter direkt aus Manpage-Einträgen heraus.
Manche Netzwerkadministratoren schreiben Dokumentationen in Form von Kommentaren innerhalb von Konfigurationsdateien. Für diese wird SWAT ein eher unbeliebtes Werkzeug sein. SWAT speichert die Konfigurationsdatei in keiner Mischform, sondern speichert ausschließlich Parameterwerte. Wenn SWAT also die smb.conf schreibt, schreibt es nur jene Parameter, die von den Standardwerten abweichen. Das bedeutet, dass Kommentare und nicht unterstützte Parameter nicht mehr in der smb.conf erscheinen werden. Dazu werden die Parameter in eine interne Reihenfolge geschrieben.
Eine Warnung, bevor Sie SWAT benutzen: SWAT ersetzt eine bereits im System vorhandene smb.conf durch eine von SWAT optimierte Version, aus der alle vorher eingefügten Kommentare und Nicht-Standardwerte entfernt worden sind.
Dieser Abschnitt erklärt, wie man SWAT aktiviert, wie man es sicherer macht und wie man Probleme bei der Internationalisierung löst.
Bevor Sie beginnen, einen Rechner für SWAT zu konfigurieren, sollten Sie überprüfen, ob es überhaupt installiert ist. Dies mag einigen trivial erscheinen, dennoch installieren einige Distributionen SWAT nicht standardmäßig, obwohl es auf den Medien des Distributors vorhanden ist.
Wenn Sie sich sicher sind, dass SWAT installiert ist, müssen Sie überprüfen, dass die Installation das Binary swat sowie alle unterstützenden Text- und Webseiten enthält. Bei einer Reihe von Linux-Distributionen fehlten diese vollständig, obwohl das swat-Binary installiert war.
Wenn Sie sich davon überzeugt haben, dass wirklich alles installiert ist, müssen Sie prüfen, dass SWAT in der Kontrolldatei von inetd oder xinetd aktiviert ist, je nachdem, welcher von beiden Daemons vom Betriebssystem verwendet wird.
Um sicherzustellen, dass SWAT installiert ist, lokalisiert man das Binary swat im System. Es könnte in folgenden Verzeichnissen liegen:
| /usr/local/samba/bin der standardmäßige swat Pfad. |
| /usr/sbin der Standardort vieler Linux-Systeme. |
| /opt/samba/bin |
Der tatsächliche Speicherort hängt von der Wahl des Bestriebssystemdistributors ab oder davon, welchen Installationspfad der Administrator gewählt hat.
Es gibt eine Anzahl verschiedener Methoden, um den Ort der Installation des swat-Binarys festzustellen. Die folgenden Methoden können hilfreich sein:
Wenn swat sich im aktuellen Suchpfad des Betriebssystems befindet, ist es einfach zu finden. Man kann sich die Kommandoparameter von swat wie folgt anzeigen lassen:
frodo:~ # swat -? Usage: swat [OPTION...] -a, --disable-authentication Authentifizierung abschalten (demo mode) Help options: -?, --help Zeigt diese Hilfe an --usage Zeigt eine kurze Benutzerhilfe an Common samba options: -d, --debuglevel=DEBUGLEVEL Setzt den Debug-Level -s, --configfile=CONFIGFILE Benutzt eine alternative Konfigurationsdatei -l, --log-basename=LOGFILEBASE Basisname für Log/Debug-Dateien -V, --version Gibt die Version aus
Nachdem Sie herausgefunden haben, dass swat im Suchpfad ist, ist es einfach, es im System zu identifizieren. Hier ist eine andere einfache Methode, dies zu bewerkstelligen:
frodo:~ # whereis swat swat: /usr/sbin/swat /usr/share/man/man8/swat.8.gz
Wenn dieser Versuch, das swat-Binary zu finden, misslingt, ist ein weiterer Versuch notwendig:
frodo:/ # find / -name swat -print /etc/xinetd.d/swat /usr/sbin/swat /usr/share/samba/swat frodo:/ #
Die Ausgabe zeigt, dass eine Kontrolldatei für xinetd auf der Maschine vorhanden ist. Der Ort der SWAT-Binary-Datei ist /usr/sbin/swat, und die Hilfedateien befinden sich im Verzeichnis /usr/share/samba/swat.
Im Folgenden muss überprüft werden, wo swat seine Hilfsdateien vermutet. Dies kann wie folgt geschehen:
frodo:/ # strings /usr/sbin/swat | grep "/swat" /swat/ ... /usr/share/samba/swat frodo:/ #
Der Eintrag /usr/share/samba/swat/ ist der Ort, an dem sich die von SWAT benötigten Dateien befinden. Um sicherzustellen, dass alle Dateien in diesem Verzeichnis vorhanden sind, gibt man Folgendes ein:
jht@frodo:/> find /usr/share/samba/swat -print /usr/share/samba/swat /usr/share/samba/swat/help /usr/share/samba/swat/lang /usr/share/samba/swat/lang/ja /usr/share/samba/swat/lang/ja/help /usr/share/samba/swat/lang/ja/help/welcome.html /usr/share/samba/swat/lang/ja/images /usr/share/samba/swat/lang/ja/images/home.gif ... /usr/share/samba/swat/lang/ja/include /usr/share/samba/swat/lang/ja/include/header.nocss.html ... /usr/share/samba/swat/lang/tr /usr/share/samba/swat/lang/tr/help /usr/share/samba/swat/lang/tr/help/welcome.html /usr/share/samba/swat/lang/tr/images /usr/share/samba/swat/lang/tr/images/home.gif ... /usr/share/samba/swat/lang/tr/include /usr/share/samba/swat/lang/tr/include/header.html /usr/share/samba/swat/using_samba ... /usr/share/samba/swat/images /usr/share/samba/swat/images/home.gif ... /usr/share/samba/swat/include /usr/share/samba/swat/include/footer.html /usr/share/samba/swat/include/header.html jht@frodo:/>
Wenn die oben aufgelisteten Dateien nicht vorhanden sind, müssen Sie diese installieren, da sich SWAT sonst nicht verwenden lässt.
SWAT sollte installiert werden, um es über den Netzwerk-Daemon starten zu können. Je nach UNIX/Linux-System ist dies entweder inetd oder xinetd.
Die Vorgehensweise und der Ort variieren hierbei je nach verwendetem Betriebssystem. Die Kontrolldatei (oder -dateien) finden Sie im Allgemeinen unter /etc/inetd.conf oder (für xinetd) im Verzeichnis /etc/[x]inet[d].d.
Der Eintrag für den älteren Typ der Kontrolldatei kann sein:
# swat is the Samba Web Administration Tool swat stream tcp nowait.400 root /usr/sbin/swat swat
Ein Eintrag für die neuere Variante der Kontrolldatei in xinetd könnte so aussehen:
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
port = 901
socket_type = stream
wait = no
only_from = localhost
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = yes
}
Beide der oben angegebenen Beispiele setzen voraus, dass swat im /usr/sbin Verzeichnis liegt. Zusätzlich benötigt SWAT ein Verzeichnis, in dem es sowohl die Hilfedateien als auch die Kontrollinformationen findet. Der Standardpfad für dieses Verzeichnis ist auf den meisten Linux-Systemen /usr/share/samba/swat. Der Pfad für die Samba-Standards ist /usr/local/samba/swat.
Bei einem Zugriff auf SWAT wird nach einer Anmeldung gefragt. Wenn man sich in SWAT als Nicht-Root-Benutzer anmeldet, ist man ausschließlich dazu berechtigt, einige bestimmte Konfigurationsoptionen nur zu lesen sowie auf die Passwortverwaltung zuzugreifen. Die für Nicht-Root-Benutzer angezeigten Buttons sind: , , und . Die einzige Seite, die Änderungen erlaubt, ist .
Meldet man sich als Benutzer root an, erhält man volle Kontrolle über sämtliche Funktionen in SWAT. Die angezeigten Buttons sind: , , , , , , und .
Viele Leute haben gefragt, wie man SWAT mit SSL aufsetzt, um so eine sichere Fernadministration zu erlauben. Hier ist eine funktionierende Methode, die von Markus Krieger zur Verfügung gestellt worden ist.
Nehmen Sie folgende Modifikationen bei der SWAT-Installation vor:
Installieren Sie OpenSSL.
Generieren Sie ein Zertifikat und einen privaten Schlüssel.
root# /usr/bin/openssl req -new -x509 -days 365 -nodes -config \ /usr/share/doc/packages/stunnel/stunnel.cnf \ -out /etc/stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem
Entfernen Sie den swat-Eintrag aus [x]inetd.
Führen Sie stunnel aus.
root# stunnel -p /etc/stunnel/stunnel.pem -d 901 \ -l /usr/local/samba/bin/swat swat
Danach verbinden Sie sich einfach mit SWAT über die URL https://myhost:901, akzeptieren das Zertifikat, und die SSL-Verbindung steht.
SWAT kann so konfiguriert werden, dass es seine Nachrichten in der Sprache anzeigt, die in Ihrem Webbrowser eingestellt ist. Diese Anweisung wird SWAT im Accept-Language-Header der HTTP-Anfrage übergeben.
Um dieses Feature zu aktivieren, tun Sie Folgendes:
Der Name der msg-Datei entspricht der Sprach-ID des Browsers, zum Beispiel en für „English“, de für „Deutsch“, ja für „Japanisch“ oder fr für „Französisch“.
Wenn Ihnen einige der Nachrichten nicht gefallen oder keine msg- Dateien für Ihre eigene oder Ihre präferierte Sprache vorhanden sind, können Sie einfach die en.msg-Dateien in das Verzeichnis für „Meine Sprache ID.msg“ kopieren und passende Nachrichten zu jedem „msgstr“ eintragen. Zum Beispiel trägt man für it.msg (die msg-Datei für Italienisch) Folgendes ein:
msgid "Set Default" msgstr "Imposta Default"
usw. Wenn Sie einen Fehler finden oder eine neue msg-Datei erstellt haben, mailen Sie (diese) bitte, damit wir sie für das nächste Release von Samba bereitstellen können.
Zusätzlich sei erwähnt, dass die Ausgabe von SWAT durcheinander geraten kann, wenn dieses Feature aktiviert wird, aber display charset nicht mit der im Browser eingestellten Sprache übereinstimmt. In einer zukünftigen Samba-Version wird SWAT immer UTF-8-kodierte Nachrichten anzeigen. Es wird dann nicht mehr nötig sein, den smb.conf-Parameter für die Sprache zu setzen.
SWAT ist ein Werkzeug, das von vielen genutzt wird, um Samba zu konfigurieren. Sie können damit aber auch einfach auf die nützlichen Links zu wichtigem Referenzmaterial (z.B. auf den Inhalt dieser Dokumentation) oder auf andere Dokumente zugreifen, die Ihnen dabei helfen können, Probleme mit dem Windows-Netzwerk zu lösen.
Die SWAT-Titelseite bietet Zugriff auf die aktuellste Samba-Dokumentation. Von dieser Seite aus kann auf die Manual-Pages jeder Samba-Komponente zugegriffen werden, auf die Samba HOWTO-Sammlung (dieses Buch) und auf das Buch „Samba“ von O'Reilly.
Administratoren, die ihre Samba-Konfiguration überprüfen möchten, finden nützliche Informationen in den Manpages der einzelnen Diagnose-Werkzeuge, die auch auf der SWAT-Homepage im Internet verfügbar sind. Ein nicht erwähntes, aber teils nützliches Diagnose-Werkzeug finden Sie unter ethereal.
SWAT kann so konfiguriert werden, dass es in einem Demo-Modus läuft. Dieser Modus wird nicht empfohlen, da er SWAT ohne Authentifizierung, aber mit sämtlichen administrativen Möglichkeiten ausführt. Er erlaubt Änderungen an der smb.conf wie auch alle anderen Tätigkeiten mit root-Rechten. Die Option, die dies erlaubt, ist das -a Flag für swat. Verwenden Sie diesen Modus nicht in einer Produktionsumgebung!
Der -Button öffnet die Seite, auf der es möglich ist, die globalen Parameter in der smb.conf zu konfigurieren. Es gibt zwei Arten, wie diese Parameter angezeigt werden:
Zeigt allgemeine Konfigurationsoptionen an.
Zeigt Konfigurationsoptionen an, die in komplexeren Umgebungen gebraucht werden.
Um die Optionen im erweiterten Modus zu editieren, klicken Sie auf , im anderen Fall auf . Sie können auch zuerst auf den Radio-Button klicken und dann auf den -Button.
Nachdem Sie Änderungen an Konfigurationsparametern vorgenommen haben, sollten Sie noch einmal prüfen, dass Sie auf den -Button gedrückt haben, bevor Sie die Seite verlassen, da sonst alle Änderungen verloren gehen.
SWAT besitzt eine kontextabhängige Hilfe. Um herauszufinden, wofür jeder Parameter steht und welchen Zweck er erfüllt, klicken Sie auf den Link links neben dem Konfigurationsparameter.
Um eine bereits konfigurierte Freigabe zu bearbeiten, klicken Sie auf das Pulldown-Menü zwischen und und wählen die Freigabe aus, mit der man arbeiten will. Um die Einstellungen zu editieren, klicken Sie auf den Button . Um die Freigabe zu löschen, klicken Sie auf den Button .
Um eine neue Freigabe zu erzeugen, geben Sie den Namen der Freigabe in ein Textfeld ein, das sich neben dem mit beschrifteten Button befindet. Die Freigabe erzeugt man schließlich mit .
Einen bereits eingerichteten Drucker bearbeiten Sie mit dem Pulldown-Menü zwischen und . Wählen Sie hier den Drucker aus, den Sie bearbeiten wollen. Um die Einstellungen zu bearbeiten, benutzen Sie den Button ; um den Drucker aus der Liste zu löschen, klicken Sie auf .
Einen neuen Drucker legen Sie in dem Textfeld neben dem Button an, indem Sie den Namen des freizugebenden Druckers eingeben. Sie geben ihn schließlich frei, indem Sie auf klicken.
Der Zweck des SWAT-Wizards ist es, dem sachkundigen MS-Netzwerkadministrator die Konfiguration von Samba so einfach wie möglich zu machen.
Die Wizard-Seite bietet ein Werkzeug, um die Datei smb.conf in einem optimierten Format zurückzuschreiben. Genau dies geschieht auch, wenn Sie auf den Button klicken. Der Unterschied zwischen dem -Button und dem -Button ist, dass alle Änderungen ignoriert und sämtliche vorgenommenen Änderungen umsetzt.
Der -Button erlaubt das Editieren der Minimaloptionen, die notwendig sind, um einen funktionsfähigen Samba-Server zu konfigurieren.
Schließlich gibt es noch eine begrenzte Anzahl von Optionen, die bestimmen, wofür der Samba-Server konfiguriert werden soll: ob er als WINS-Server dienen soll, als WINS-Client am Netz teilnimmt oder ob er ohne WINS-Unterstützung arbeiten soll. Mit einem Klick können Sie auswählen, ob Sie die Heimatverzeichnisse der Benutzer freigeben wollen.
Die Status-Seite erfüllt nur einen geringen Nutzen. Sie erlaubt die Überwachung der Samba-Daemons, wobei die Hauptdaemons, aus denen der Samba-Server besteht, smbd, nmbd und winbindd sind.
Die Daemons können individuell oder als eine zusammenhängende Gruppe überwacht werden. Zusätzlich kann man eine automatische Aktualisierung der Seite einstellen. Wenn MS Windows-Clients mit Samba interagieren, werden kontinuierlich neue smbd-Prozesse eingepflegt. Mit minimalem Aufwand können Sie über die automatische Aktualisierung sich ändernde Zustände verfolgen.
Zuletzt können Sie die Status-Seite auch dazu benutzen, bestimmte smbd-Clientverbindungen zu unterbrechen, um Dateien freizugeben, die u.U. gesperrt sind.
Sie ermöglicht es dem Administrator, sich die optimierte smb.conf-Datei anzusehen, und erlaubt es den Masochisten unter uns, alle möglichen globalen Konfigurationsparameter und ihre Einstellungen anzuschauen.
Die Seite zur Passwortänderung ist ein sehr beliebtes Werkzeug, das das Erstellen, Löschen, De- und Reaktivieren von MS-Windows-Benutzern auf der lokalen Maschine erlaubt. Alternativ kann man es zur Änderung von lokalen Passwörtern verwenden.
Wenn der Benutzer als Nicht-Root-Benutzer angemeldet ist, muss er bei Änderungen von Passwörtern das alte und zweimal das neue Passwort eingeben. Ist er als root angemeldet, wird nur das neue Passwort benötigt.
Das Werkzeug wird auch oft dazu genutzt, Benutzerpasswörter über eine Reihe von MS Windows-Servern hinweg zu ändern.
Wenn sich die Parameter display charset und dos charset voneinander unterscheiden, wird die Übersichtsseite fehlerhaft angezeigt. Der Parameter display charset muss dieselbe Kodierung wie die msg-Datei besitzen. Falls Sie eine japanische Schrift brauchen, müssen Sie display charset auf CP932 setzen.
Das Problem entsteht auf, wenn Sie unix charset = EUCJP-MS setzen.