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  run under control of the master(8) pro-
       cess.  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.

       Changes in master.cf requires  that  "postfix  reload"  be
       executed in order 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 therefore 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).

                     Examples: a service name of   127.0.0.1:smtp
                     receives  mail  via  the  loopback interface
                     only; and a service name  of  10025  accepts
                     connections on TCP port 10025 via all inter-
                     faces configured  with  the  inet_interfaces
                     parameter.

              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) and spawn(8) daemons.  Although  the  prox-
              ymap(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 describe how  to  set
              up  a  Postfix  chroot environment for your type of
              machine, and  BASIC_CONFIGURATION_README  discusses
              issues related to running daemons chrooted.

       Wakeup 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  wake up events be sent
              only to services  that  are  actually  being  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 pro-
              cess 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  command  more
                     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)