Next Previous Contents

8. Features

8.1 Guest Account

This is a username which will be used for access to services which are specified as Public Access (see below). Whatever privileges this user has will be available to any client connecting to the guest service. Typically this user will exist in the password file, but will not have a valid login. If a username is specified in a given service, the specified username overrides this one.

Note that as of Samba version 1.9 this option may be set differently for each service.

Default: specified at compile time

Example: nobody

8.2 Dead time

The value of the parameter (a decimal integer) represents the number of minutes of inactivity before a connection is considered dead, and it is disconnected. The deadtime only takes effect if the number of open files is zero.

This is useful to stop a server's resources from being exhausted by a large number of inactive connections.

Most clients have an auto-reconnect feature when a connection is broken. In most cases this parameter should be transparent to users.

Using this parameter with a timeout of a few minutes is recommended for most systems.

A deadtime of zero indicates that no auto-disconnection should be performed.

Default: 0

Example: 15

8.3 Debug level

The value of the parameter (an integer) allows the debug level (logging level) to be specified in the smb.conf file. This is to give greater flexibility in the configuration of the system.

The default will be the debug level specified on the command line.

Default: ???

Example: 3

8.4 Default service

This parameter specifies the name of a service which will be connected to if the service requested cannot actually be found.

There is no default value for this parameter. If this parameter is not given, attempting to connect to a non-existent service results in an error.

Typically the default service would be a public, read-only service.

Also note that as of 1.9.14 the apparent service name will be changed to equal that of the requested service. This is very useful as it allows you to use macros like %S to make a wildcard service.

Note also that any characters in the name of the service used, in the default service, will get mapped to a /. This allows for interesting things.

Example: pub

where, [pub] path = /%S

8.5 Show all available printers

A boolean parameter that controls whether all printers in the printcap will be loaded for browsing by default.

Default: On

8.6 WinPopup command

This specifies what command to run when the server receives a WinPopup style message.

This would normally be a command that would somehow deliver the message. How this should be done is up to your imagination.

What I use is:

        WinPopup command: csh -c 'xedit %s;rm %s' &

This delivers the message using xedit, then removes it afterwards. NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN IMMEDIATELY. That's why I have the & on the end. If it doesn't return immediately then your PC may freeze when sending messages (they should recover after 30secs, hopefully).

All messages are delivered as the global guest user. The command takes the standard substitutions, although %u won't work (%U may be better in this case).

Apart from the standard substitutions, some additional ones apply. In particular:

%s = the filename containing the message

%t = the destination that the message was sent to (probably the server name)

%f = who the message is from

You could make this command send mail, or whatever else takes your fancy. Please let me know of any really interesting ideas you have.

Here's a way of sending the messages, as mail, to root:

WinPopup command: /bin/mail -s 'message from %f on %m' root < %s; rm %s

If you don't have a message command, then the message won't be delivered and Samba will tell the sender there was an error. Unfortunately WfWg totally ignores the error code and carries on, saying that the message was delivered.

If you want to silently delete it then try "message command = rm %s".

For the really adventurous, try something like this:

WinPopup command: csh -c 'csh < %s |& /usr/local/samba/bin/smbclient
         \ -M %m; rm %s' &

This would execute the command as a script on the server, then give them the result in a WinPopup message. Note that this could cause a loop if you send a message from the server using smbclient! You better wrap the above in a script that checks for this :-)

Default: no message command

Example: csh -c 'xedit %s;rm %s' &

Next Previous Contents