MASTER(5) MASTER(5)
NAME
master - Postfix master process configuration file format
DESCRIPTION
The Postfix mail system is implemented by small number of
(mostly) client commands that are invoked by users, and by
a larger number of services that run in the background.
Postfix services are implemented by daemon processes.
These run in the background under control of the master(8)
process. The master.cf configuration file defines how a
client program connects to a service, and what daemon pro-
gram runs when a service is requested. Most daemon pro-
cesses are short-lived and terminate after serving max_use
clients, or after inactivity for max_idle or more units of
time.
All daemons specified here must speak a Postfix-internal
protocol. In order to execute non-Postfix software use the
local(8), pipe(8) or spawn(8) services, or run the server
under control by inetd(8) or equivalent.
After changing master.cf you must execute "postfix reload"
to reload the configuration.
SYNTAX
The general format of the master.cf file is as follows:
o Each logical line defines a single Postfix service.
Each service is identified by its name and type as
described below. When multiple lines specify the
same service name and type, only the last one is
remembered. Otherwise, the order of master.cf ser-
vice definitions does not matter.
o Empty lines and whitespace-only lines are ignored,
as are lines whose first non-whitespace character
is a `#'.
o A logical line starts with non-whitespace text. A
line that starts with whitespace continues a logi-
cal line.
Each logical line consists of eight fields separated by
whitespace. These are described below in the order as
they appear in the master.cf file.
Where applicable a field of "-" requests that the built-in
default value be used. For boolean fields specify "y" or
"n" to override the default value.
Service name
The service name syntax depends on the service type
as described next.
Service type
Specify one of the following service types:
inet The service listens on a TCP/IP socket and
is accessible via the network.
The service name is specified as host:port,
denoting the host and port on which new con-
nections should be accepted. The host part
(and colon) may be omitted. Either host or
port may be given in symbolic form (host or
service name) or in numeric form (IP address
or port number). Host information may be
enclosed inside "[]", but this form is not
necessary.
Examples: a service named 127.0.0.1:smtp or
::1:smtp receives mail via the loopback
interface only; and a service named 10025
accepts connections on TCP port 10025 via
all interfaces configured with the
inet_interfaces parameter.
Note: with Postfix version 2.2 and later
specify "inet_interfaces = loopback-only" in
main.cf, instead of hard-coding loopback IP
address information in master.cf or in
main.cf.
unix The service listens on a UNIX-domain socket
and is accessible for local clients only.
The service name is a pathname relative to
the Postfix queue directory (pathname con-
trolled with the queue_directory configura-
tion parameter in main.cf).
On Solaris systems the unix type is imple-
mented with streams sockets.
fifo The service listens on a FIFO (named pipe)
and is accessible for local clients only.
The service name is a pathname relative to
the Postfix queue directory (pathname con-
trolled with the queue_directory configura-
tion parameter in main.cf).
Private (default: y)
Whether or not access is restricted to the mail
system. Internet (type inet) services can't be
private.
Unprivileged (default: y)
Whether the service runs with root privileges or as
the owner of the Postfix system (the owner name is
controlled by the mail_owner configuration variable
in the main.cf file).
The local(8), pipe(8), spawn(8), and virtual(8)
daemons require privileges.
Chroot (default: y)
Whether or not the service runs chrooted to the
mail queue directory (pathname is controlled by the
queue_directory configuration variable in the
main.cf file).
Chroot should not be used with the local(8),
pipe(8), spawn(8), and virtual(8) daemons.
Although the proxymap(8) server can run chrooted,
doing so defeats most of the purpose of having that
service in the first place.
The files in the examples/chroot-setup subdirectory
of the Postfix source archive show set up a Postfix
chroot environment on a variety of systems. See
also BASIC_CONFIGURATION_README for issues related
to running daemons chrooted.
Wake up time (default: 0)
Automatically wake up the named service after the
specified number of seconds. The wake up is imple-
mented by connecting to the service and sending a
wake up request. A ? at the end of the wake-up
time field requests that no wake up events be sent
before the first time a service is used. Specify 0
for no automatic wake up.
The pickup(8), qmgr(8) and flush(8) daemons require
a wake up timer.
Process limit (default: $default_process_limit)
The maximum number of processes that may execute
this service simultaneously. Specify 0 for no
process count limit.
NOTE: Some Postfix services must be configured as a
single-process service (for example, qmgr(8)) and
some services must be configured with no process
limit (for example, cleanup(8)). These limits must
not be changed.
Command name + arguments
The command to be executed. Characters that are
special to the shell such as ">" or "|" have no
special meaning here, and quotes cannot be used to
protect arguments containing whitespace.
The command name is relative to the Postfix daemon
directory (pathname is controlled by the dae-
mon_directory configuration variable).
The command argument syntax for specific commands
is specified in the respective daemon manual page.
The following command-line options have the same
effect for all daemon programs:
-D Run the daemon under control by the command
specified with the debugger_command variable
in the main.cf configuration file. See
DEBUG_README for hints and tips.
-o name=value
Override the named main.cf configuration
parameter. The parameter value can refer to
other parameters as $name etc., just like in
main.cf. See postconf(5) for syntax.
NOTE 1: do not specify whitespace around the
"=". In parameter values, either avoid
whitespace altogether, use commas instead of
spaces, or consider overrides like "-o
name=$override_parameter" with $over-
ride_parameter set in main.cf.
NOTE 2: Over-zealous use of parameter over-
rides makes the Postfix configuration hard
to understand and maintain. At a certain
point, it might be easier to configure mul-
tiple instances of Postfix, instead of con-
figuring multiple personalities via mas-
ter.cf.
-v Increase the verbose logging level. Specify
multiple -v options to make a Postfix daemon
process increasingly verbose.
SEE ALSO
master(8), process manager
postconf(5), configuration parameters
README FILES
BASIC_CONFIGURATION_README, basic configuration
DEBUG_README, Postfix debugging
LICENSE
The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
Initial version by
Magnus Baeck
Lund Institute of Technology
Sweden
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
MASTER(5)