BTW: Ik heb nog een document uitsluitend geweid aan Swat
SWAT is een configuratie tool voor Samba, eigenlijk is het een http server die gestart wordt via inetd. Je maakt verbinding met SWAT door te browsen naar http://localhost:901, of vanaf een andere pc in je netwerk naar http://ip_nummer:901. Als Samba eenmaal draait kun je op een Windows machine zelfs browsen naar http://netbios_naam:901[1].
Met SWAT kun je:
Een configuratie bestand maken.
De services starten, stoppen en herstarten.
De status bekijken.
Gebruikers beheren (smbpassword).
SWAT hoeft niet separaat geinstalleerd te worden, het is namelijk een onderdeel van de Samba distributie. Het starten van SWAT kan het beste gebeuren via inetd, dit staat zeer goed omschreven in de man page van SWAT. De configuratie om dit voorelkaar te krijgen bestaat uit 3 stappen, Slackware 8.1 is er zelfs al op voorbereid.
SWAT heeft een aantal voordelen:
Het verlaagt de drempel om Samba te gebruiken.
Het biedt uitgebreide hulp bij de configuratie parameters.
Het geeft toegang tot andere help bestanden (o.a. het O'Reilly boek)
Het maakt een configuratie bestand zonder tik fouten.
echter ook nadelen:
Het is uitsluitend bruikbaar voor het server gedeelte van Samba.
Het ontneemt je het begrip hoe Linux eigenlijk werkt; hoog wizard gehalte
Het overschrijft je getweakte van commentaar voorziene configuratie bestand met een eigen versie.
Het is omslachtig in het gebruik.
De eerste stap is het aanpassen van /etc/services. In dit bestand staan de TCP/IP poorten genoemd met de services die op die poort draaien. Voor SWAT wordt meestal poort 901 gebruikt:
accessbuilder 888/tcp accessbuilder 888/udp swat 901/tcp # samba web configuration tool ftps-data 989/tcp # ftp protocol, data, over TLS/SSL ftps-data 989/udp |
De tweede stap is het aanpassen van het configuratie bestand van de inetd daemon. Dit is het bestand /etc/inetd. Aan dit bestand moet de volgende regel toegevoegd worden:
#Samba Web Administration Tool: swat stream tcp nowait.400 root /usr/sbin/swat swat |
Er is eigenlijk maar 1 ding wat mis kan gaan. En dat is de lokatie van de SWAT executable. In dit geval "/usr/sbin/swat" moet overeenkomen met de feitelijke lokatie van de executable. Je kunt dit controleren met het commando `which swat` wat als uitvoer de eerste swat rapporteert die hij op het PATH vind:
root@lt_pkn:~# which swat /usr/sbin/swat root@lt_pkn:~# |
De derde en laaste stap is het herstarten van de inetd daemon. Dit omdat /etc/inetd.conf uitsluiten bij het (her)starten gelezen wordt. Door het herstarten van de daemon dwing je hem z'n configuratie bestand opnieuw te lezen.
Herstarten doe je door het process van de daemon het HUP signaal te geven. Klinkt erg moeilijk, maar valt best mee. Eerst gebruik je `ps -e|grep inetd` om uit te zoeken welk process inetd is:
root@lt_pkn:~# ps -e|grep inetd 71 ? 00:00:00 inetd root@lt_pkn:~# |
root@lt_pkn:~# kill -HUP 71 root@lt_pkn:~# |
[1] | Als je /etc/hosts aangepast hebt dan kun je op de Linux machine ook een host naam gebruiken ipv een ip nummer. |
[2] | In feite "pipe" je de output van `ps -e` naar het filter programma `grep` die vervolgens filtert op "inetd". Door iets anders als "inetd" in te tikken kun je dus ook andere processen vinden. Probeer maar een met "getty", je vind dan de programma's die op een inlog staan te wachten. |
[3] | Maak van deze check een gewoonte, niet elke daemon reageert hetzelfde op het HUP signaal. Sommigen stoppen er gewoon mee. |