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  voluntarily  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).

              pass   The service listens on a UNIX-domain socket,
                     receives one open connection (file  descrip-
                     tor  passing) per connection request, and is
                     accessible to 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).

                     This feature is available as of Postfix ver-
                     sion 2.5.

       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)