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)