home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  



Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999, 1-56592-449-5, 416 pages

8.2 Magic Scripts

The following options deal with magic scripts on the Samba server. Magic scripts are a method of running programs on Unix and redirecting the output back to the SMB client. These are essentially an experimental hack. However, some users and their programs still rely on these two options for their programs to function correctly. Magic scripts are not widely trusted and their use is highly discouraged by the Samba team. See Table 8.2 for more information.


Table 8.2: Networking Configuration Options

Option

Parameters

Function

Default

Scope

magic script

string (fully-qualified filename)

Sets the name of a file to be executed by Samba, as the logged-on user, when closed.

None

Share

magic output

string (fully-qualified filename)

Sets a file to log output from the magic file.

scriptname.out

Share

8.2.1 magic script

If the magic script option is set to a filename and the client creates a file by that name in that share, Samba will run the file as soon as the user has opened and closed it. For example, let's assume that the following option was created in the share [accounting]:

[accounting]
	magic script = tally.sh

Samba continually monitors the files in that share. If one by the name of tally.sh is closed (after being opened) by a user, Samba will execute the contents of that file locally. The file will be passed to the shell to execute; it must therefore be a legal Unix shell script. This means that it must have newline characters as line endings instead of Windows CR/LFs. In addition, it helps if you use the #! directive at the beginning of the file to indicate under which shell the script should run.

8.2.2 magic output

This option specifies an output file that the script specified by the magic script option will send output to. You must specify a filename in a writable directory:

[accounting]
	magic script = tally.sh
	magic output = /var/log/magicoutput

If this option is omitted, the default output file is the name of the script (as stated in the magic script option) with the extension .out appended onto it.


Previous: 8.1 Supporting Programmers Next: 8.3 Internationalization
8.1 Supporting Programmers Book Index 8.3 Internationalization