    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)