9 Postfix master process configuration file format
13 The Postfix mail system is implemented by small number of
14 (mostly) client commands that are invoked by users, and by
15 a larger number of services that run in the background.
17 Postfix services are implemented by daemon processes. These
18 run in the background under control of the \fBmaster\fR(8)
19 process. The master.cf configuration file defines how a
20 client program connects to a service, and what daemon
21 program runs when a service is requested. Most daemon
22 processes are short-lived and terminate voluntarily after
23 serving \fBmax_use\fR clients, or after inactivity for
24 \fBmax_idle\fR or more units of time.
26 All daemons specified here must speak a Postfix-internal
27 protocol. In order to execute non-Postfix software use the
28 \fBlocal\fR(8), \fBpipe\fR(8) or \fBspawn\fR(8) services, or
29 run the server under control by \fBinetd\fR(8) or equivalent.
31 After changing master.cf you must execute "\fBpostfix reload\fR"
32 to reload the configuration.
38 The general format of the master.cf file is as follows:
40 Each logical line defines a single Postfix service.
41 Each service is identified by its name and type as described
42 below. When multiple lines specify the same service name
43 and type, only the last one is remembered. Otherwise, the
44 order of master.cf service definitions does not matter.
46 Empty lines and whitespace-only lines are ignored, as are
47 lines whose first non-whitespace character is a `#'.
49 A logical line starts with non-whitespace text. A line that
50 starts with whitespace continues a logical line.
52 Each logical line consists of eight fields separated by
53 whitespace. These are described below in the order as they
54 appear in the master.cf file.
56 Where applicable a field of "-" requests that the built-in
57 default value be used. For boolean fields specify "y" or
58 "n" to override the default value.
59 .IP "\fBService name\fR"
60 The service name syntax depends on the service type as
62 .IP "\fBService type\fR"
63 Specify one of the following service types:
66 The service listens on a TCP/IP socket and is accessible
69 The service name is specified as \fIhost:port\fR, denoting
70 the host and port on which new connections should be
71 accepted. The host part (and colon) may be omitted. Either
72 host or port may be given in symbolic form (host or service
73 name) or in numeric form (IP address or port number).
74 Host information may be enclosed inside "[]", but this form
77 Examples: a service named \fB127.0.0.1:smtp\fR or \fB::1:smtp\fR
79 mail via the loopback interface only; and a service named
80 \fB10025\fR accepts connections on TCP port 10025 via
81 all interfaces configured with the \fBinet_interfaces\fR
85 Note: with Postfix version 2.2 and later specify
86 "\fBinet_interfaces = loopback-only\fR" in main.cf, instead
87 of hard-coding loopback IP address information in master.cf
90 The service listens on a UNIX-domain socket and is accessible
91 for local clients only.
93 The service name is a pathname relative to the Postfix
94 queue directory (pathname controlled with the \fBqueue_directory\fR
95 configuration parameter in main.cf).
97 On Solaris systems the \fBunix\fR type is implemented with
100 The service listens on a FIFO (named pipe) and is accessible
101 for local clients only.
103 The service name is a pathname relative to the Postfix
104 queue directory (pathname controlled with the \fBqueue_directory\fR
105 configuration parameter in main.cf).
107 The service listens on a UNIX-domain socket, receives one
108 open connection (file descriptor passing) per connection
109 request, and is accessible to local clients only.
111 The service name is a pathname relative to the Postfix
112 queue directory (pathname controlled with the \fBqueue_directory\fR
113 configuration parameter in main.cf).
115 This feature is available as of Postfix version 2.5.
117 .IP "\fBPrivate (default: y)\fR"
118 Whether or not access is restricted to the mail system.
119 Internet (type \fBinet\fR) services can't be private.
120 .IP "\fBUnprivileged (default: y)\fR"
121 Whether the service runs with root privileges or as the
122 owner of the Postfix system (the owner name is controlled
123 by the \fBmail_owner\fR configuration variable in the
126 The \fBlocal\fR(8), \fBpipe\fR(8), \fBspawn\fR(8), and
127 \fBvirtual\fR(8) daemons require privileges.
128 .IP "\fBChroot (default: y)\fR"
129 Whether or not the service runs chrooted to the mail queue
130 directory (pathname is controlled by the \fBqueue_directory\fR
131 configuration variable in the main.cf file).
133 Chroot should not be used with the \fBlocal\fR(8),
134 \fBpipe\fR(8), \fBspawn\fR(8), and \fBvirtual\fR(8) daemons.
136 \fBproxymap\fR(8) server can run chrooted, doing so defeats
137 most of the purpose of having that service in the first
140 The files in the examples/chroot-setup subdirectory of the
141 Postfix source archive show set up a Postfix chroot environment
142 on a variety of systems. See also BASIC_CONFIGURATION_README
143 for issues related to running daemons chrooted.
144 .IP "\fBWake up time (default: 0)\fR"
145 Automatically wake up the named service after the specified
146 number of seconds. The wake up is implemented by connecting
147 to the service and sending a wake up request. A ? at the
148 end of the wake-up time field requests that no wake up
149 events be sent before the first time a service is used.
150 Specify 0 for no automatic wake up.
152 The \fBpickup\fR(8), \fBqmgr\fR(8) and \fBflush\fR(8)
153 daemons require a wake up timer.
154 .IP "\fBProcess limit (default: $default_process_limit)\fR"
155 The maximum number of processes that may execute this
156 service simultaneously. Specify 0 for no process count limit.
158 NOTE: Some Postfix services must be configured as a
159 single-process service (for example, \fBqmgr\fR(8)) and
160 some services must be configured with no process limit (for
161 example, \fBcleanup\fR(8)). These limits must not be
163 .IP "\fBCommand name + arguments\fR"
164 The command to be executed. Characters that are special
165 to the shell such as ">" or "|" have no special meaning
166 here, and quotes cannot be used to protect arguments
167 containing whitespace.
169 The command name is relative to the Postfix daemon directory
170 (pathname is controlled by the \fBdaemon_directory\fR
171 configuration variable).
173 The command argument syntax for specific commands is
174 specified in the respective daemon manual page.
176 The following command-line options have the same effect for
180 Run the daemon under control by the command specified with
181 the \fBdebugger_command\fR variable in the main.cf
182 configuration file. See DEBUG_README for hints and tips.
183 .IP "\fB-o \fIname\fR=\fIvalue\fR"
184 Override the named main.cf configuration parameter. The
185 parameter value can refer to other parameters as \fI$name\fR
186 etc., just like in main.cf. See \fBpostconf\fR(5) for
189 NOTE 1: do not specify whitespace around the "=". In parameter
190 values, either avoid whitespace altogether, use commas
191 instead of spaces, or consider overrides like "-o
192 name=$override_parameter" with $override_parameter set in
195 NOTE 2: Over-zealous use of parameter overrides makes the
196 Postfix configuration hard to understand and maintain. At
197 a certain point, it might be easier to configure multiple
198 instances of Postfix, instead of configuring multiple
199 personalities via master.cf.
201 Increase the verbose logging level. Specify multiple \fB-v\fR
202 options to make a Postfix daemon process increasingly verbose.
206 master(8), process manager
207 postconf(5), configuration parameters
213 Use "\fBpostconf readme_directory\fR" or
214 "\fBpostconf html_directory\fR" to locate this information.
217 BASIC_CONFIGURATION_README, basic configuration
218 DEBUG_README, Postfix debugging
224 The Secure Mailer license must be distributed with this software.
230 Lund Institute of Technology
234 IBM T.J. Watson Research
236 Yorktown Heights, NY 10598, USA