# swat

## Name

swat -- Samba Web Administration Tool

## Synopsis

swat [-s <smb config file>] [-a]

## DESCRIPTION

This tool is part of the Samba suite.

swat allows a Samba administrator to configure the complex `smb.conf(5)` file via a Web browser. In addition, a swat configuration page has help links to all the configurable options in the `smb.conf` file allowing an administrator to easily look up the effects of any change.

swat is run from inetd

## OPTIONS

-s smb configuration file

  The default configuration file path is determined at compile time. The file specified contains the configuration details required by the smbd server. This is the file that swat will modify. The information in this file includes server-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide. See `smb.conf` for more information.

-a

  This option disables authentication and puts swat in demo mode. In that mode anyone will be able to modify the `smb.conf` file.

  Do NOT enable this option on a production server.

## INSTALLATION

After you compile SWAT you need to run make install to install the swat binary and the various help files and images. A default install would put these in:

- /usr/local/samba/bin/swat

- /usr/local/samba/swat/images/*

- /usr/local/samba/swat/help/*

### Inetd Installation

You need to edit your `/etc/inetd.conf` and `/etc/services` to enable SWAT to be launched via inetd.

In `/etc/services` you need to add a line like this:

swat 901/tcp

Note for NIS/YP users - you may need to rebuild the NIS service maps rather than alter your local `/etc/services` file.

the choice of port number isn't really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your inetd daemon).

In `/etc/inetd.conf` you should add a line like this:

swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat

One you have edited `/etc/services` and `/etc/inetd.conf` you need to send a HUP signal to inetd. To do this use kill -1 PID where PID is the process ID of the inetd daemon.

### Xinetd Installation

Newer Linux systems ship with a more secure implementation of the inetd meta-daemon. The xinetd daemon can read configuration inf9ormation from a single file (i.e. `/etc/xinetd.conf`) or from a collection of service control files in the `xinetd.d/` directory. These directions assume the latter configuration.

The following file should be created as `/etc/xientd.d/swat`. It is then be neccessary cause the meta-daemon to reload its configuration files. Refer to the xinetd man page for details on how to accomplish this.

    ## /etc/xinetd.d/swat
    service swat
    {
            port    = 901
            socket_type     = stream
            wait    = no
            only_from = localhost
            user    = root
            server  = /usr/local/samba/bin/swat
            log_on_failure  += USERID
            disable =  No
    }

### Launching

To launch SWAT just run your favorite web browser and point it at "http://localhost:901/".

Note that you can attach to SWAT from any IP connected machine but connecting from a remote machine leaves your connection open to password sniffing as passwords will be sent in the clear over the wire.

## TROUBLESHOOTING

One of the common causes of difficulty when installing Samba and SWAT is the existsnece of some type of firewall or port filtering software on the Samba server. Make sure that the appropriate ports outlined in this man page are available on the server and are not currently being blocked by some type of security software such as iptables or "port sentry". For more troubleshooting information, refer to the additional documentation included in the Samba distribution.

## FILES

`/etc/inetd.conf`

  This file must contain suitable startup information for the meta-daemon.

`/etc/xinetd.d/swat`

  This file must contain suitable startup information for the xinetd meta-daemon.

`/etc/services`

  This file must contain a mapping of service name (e.g., swat) to service port (e.g., 901) and protocol type (e.g., tcp).

`/usr/local/samba/lib/smb.conf`

  This is the default location of the `smb.conf(5)` server configuration file that swat edits. Other common places that systems install this file are `/usr/samba/lib/smb.conf` and `/etc/smb.conf` . This file describes all the services the server is to make available to clients.

## WARNINGS

swat will rewrite your `smb.conf` file. It will rearrange the entries and delete all comments, `include=` and `copy="` options. If you have a carefully crafted `smb.conf` then back it up or don't use swat!

## VERSION

This man page is correct for version 2.2 of the Samba suite.

## SEE ALSO

inetd(5), smbd(8), smb.conf(5), xinetd(8)

## AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The original Samba man pages were written by Karl Auer. The man page sources were converted to YODL format (another excellent piece of Open Source software, available at ftp://ftp.icce.rug.nl/pub/unix/) and updated for the Samba 2.0 release by Jeremy Allison. The conversion to DocBook for Samba 2.2 was done by Gerald Carter