1 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "https://www.w3.org/TR/html4/loose.dtd"> 3 <html> <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <link rel='stylesheet' type='text/css' href='postfix-doc.css'> 6 <title> Postfix manual - master(5) </title> 7 </head> <body> <pre> 8 MASTER(5) MASTER(5) 9 10 <b><a name="name">NAME</a></b> 11 master - Postfix master process configuration file format 12 13 <b><a name="description">DESCRIPTION</a></b> 14 The Postfix mail system is implemented by small number of (mostly) 15 client commands that are invoked by users, and by a larger number of 16 services that run in the background. 17 18 Postfix services are implemented by daemon processes. These run in the 19 background, started on-demand by the <a href="master.8.html"><b>master</b>(8)</a> process. The <a href="master.5.html">master.cf</a> 20 configuration file defines how a client program connects to a service, 21 and what daemon program runs when a service is requested. Most daemon 22 processes are short-lived and terminate voluntarily after serving 23 <b><a href="postconf.5.html#max_use">max_use</a></b> clients, or after inactivity for <b><a href="postconf.5.html#max_idle">max_idle</a></b> or more units of 24 time. 25 26 All daemons specified here must speak a Postfix-internal protocol. In 27 order to execute non-Postfix software use the <a href="local.8.html"><b>local</b>(8)</a>, <a href="pipe.8.html"><b>pipe</b>(8)</a> or 28 <a href="spawn.8.html"><b>spawn</b>(8)</a> services, or execute the software with <b>inetd</b>(8) or equivalent. 29 30 After changing <a href="master.5.html">master.cf</a> you must execute "<b>postfix reload</b>" to reload 31 the configuration. 32 33 <b><a name="syntax">SYNTAX</a></b> 34 The general format of the <a href="master.5.html">master.cf</a> file is as follows: 35 36 <b>o</b> Empty lines and whitespace-only lines are ignored, as are lines 37 whose first non-whitespace character is a `#'. 38 39 <b>o</b> A logical line starts with non-whitespace text. A line that 40 starts with whitespace continues a logical line. 41 42 <b>o</b> Each logical line defines a single Postfix service. Each ser- 43 vice is identified by its name and type as described below. 44 When multiple lines specify the same service name and type, only 45 the last one is remembered. Otherwise, the order of <a href="master.5.html">master.cf</a> 46 service definitions does not matter. 47 48 Each logical line consists of eight fields separated by whitespace. 49 These are described below in the order as they appear in the <a href="master.5.html">master.cf</a> 50 file. 51 52 Where applicable a field of "-" requests that the built-in default 53 value be used. For boolean fields specify "y" or "n" to override the 54 default value. 55 56 <b>Service name</b> 57 The service name syntax depends on the service type as described 58 next. 59 60 <b>Service type</b> 61 Specify one of the following service types: 62 63 <b>inet</b> The service listens on a TCP/IP socket and is accessible 64 via the network. 65 66 The service name is specified as <i>host:port</i>, denoting the 67 host and port on which new connections should be 68 accepted. The host part (and colon) may be omitted. 69 Either host or port may be given in symbolic form (see 70 <b>hosts</b>(5) or <b>services</b>(5)) or in numeric form (IP address 71 or port number). Host information may be enclosed inside 72 "[]"; this form is necessary only with IPv6 addresses. 73 74 Examples: a service named <b>127.0.0.1:smtp</b> or <b>::1:smtp</b> 75 receives mail via the loopback interface only; and a ser- 76 vice named <b>10025</b> accepts connections on TCP port 10025 77 via all interfaces configured with the <b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a></b> 78 parameter. 79 80 Note: with Postfix version 2.2 and later specify 81 "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only</b>" in <a href="postconf.5.html">main.cf</a>, instead of 82 hard-coding loopback IP address information in <a href="master.5.html">master.cf</a> 83 or in <a href="postconf.5.html">main.cf</a>. 84 85 <b>unix</b> The service listens on a UNIX-domain stream socket and is 86 accessible for local clients only. 87 88 The service name is a pathname relative to the Postfix 89 queue directory (pathname controlled with the 90 <b><a href="postconf.5.html#queue_directory">queue_directory</a></b> configuration parameter in <a href="postconf.5.html">main.cf</a>). 91 92 On Solaris 8 and earlier systems the <b>unix</b> type is imple- 93 mented with streams sockets. 94 95 <b>unix-dgram</b> 96 The service listens on a UNIX-domain datagram socket and 97 is accessible for local clients only. 98 99 The service name is a pathname relative to the Postfix 100 queue directory (pathname controlled with the 101 <b><a href="postconf.5.html#queue_directory">queue_directory</a></b> configuration parameter in <a href="postconf.5.html">main.cf</a>). 102 103 <b>fifo</b> (obsolete) 104 The service listens on a FIFO (named pipe) and is acces- 105 sible for local clients only. 106 107 The service name is a pathname relative to the Postfix 108 queue directory (pathname controlled with the 109 <b><a href="postconf.5.html#queue_directory">queue_directory</a></b> configuration parameter in <a href="postconf.5.html">main.cf</a>). 110 111 <b>pass</b> The service listens on a UNIX-domain stream socket, and 112 is accessible to local clients only. It receives one open 113 connection (file descriptor passing) per connection 114 request. 115 116 The service name is a pathname relative to the Postfix 117 queue directory (pathname controlled with the 118 <b><a href="postconf.5.html#queue_directory">queue_directory</a></b> configuration parameter in <a href="postconf.5.html">main.cf</a>). 119 120 On Solaris 8 and earlier systems the <b>pass</b> type is imple- 121 mented with streams sockets. 122 123 This feature is available as of Postfix version 2.5. 124 125 <b>Private (default: y)</b> 126 Whether a service is internal to Postfix (pathname starts with 127 <b>private/</b>), or exposed through Postfix command-line tools (path- 128 name starts with <b>public/</b>). Internet (type <b>inet</b>) services can't 129 be private. 130 131 <b>Unprivileged (default: y)</b> 132 Whether the service runs with root privileges or as the owner of 133 the Postfix system (the owner name is controlled by the 134 <b><a href="postconf.5.html#mail_owner">mail_owner</a></b> configuration variable in the <a href="postconf.5.html">main.cf</a> file). 135 136 The <a href="local.8.html"><b>local</b>(8)</a>, <a href="pipe.8.html"><b>pipe</b>(8)</a>, <a href="spawn.8.html"><b>spawn</b>(8)</a>, and <a href="virtual.8.html"><b>virtual</b>(8)</a> daemons require 137 privileges. 138 139 <b>Chroot (default: Postfix</b> ><b>= 3.0: n, Postfix</b> < <b>3.0: y)</b> 140 Whether or not the service runs chrooted to the mail queue 141 directory (pathname is controlled by the <b><a href="postconf.5.html#queue_directory">queue_directory</a></b> config- 142 uration variable in the <a href="postconf.5.html">main.cf</a> file). 143 144 Chroot should not be used with the <a href="local.8.html"><b>local</b>(8)</a>, <a href="pipe.8.html"><b>pipe</b>(8)</a>, <a href="spawn.8.html"><b>spawn</b>(8)</a>, 145 and <a href="virtual.8.html"><b>virtual</b>(8)</a> daemons. Although the <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server can run 146 chrooted, doing so defeats most of the purpose of having that 147 service in the first place. 148 149 The files in the examples/chroot-setup subdirectory of the Post- 150 fix source show how to set up a Postfix chroot environment on a 151 variety of systems. See also <a href="BASIC_CONFIGURATION_README.html">BASIC_CONFIGURATION_README</a> for 152 issues related to running daemons chrooted. 153 154 <b>Wake up time (default: 0)</b> 155 Automatically wake up the named service after the specified num- 156 ber of seconds. The wake up is implemented by connecting to the 157 service and sending a wake up request. A ? at the end of the 158 wake-up time field requests that no wake up events be sent 159 before the first time a service is used. Specify 0 for no auto- 160 matic wake up. 161 162 The <a href="pickup.8.html"><b>pickup</b>(8)</a>, <a href="qmgr.8.html"><b>qmgr</b>(8)</a> and <a href="flush.8.html"><b>flush</b>(8)</a> daemons require a wake up 163 timer. 164 165 <b>Process limit (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b> 166 The maximum number of processes that may execute this service 167 simultaneously. Specify 0 for no process count limit. 168 169 NOTE: Some Postfix services must be configured as a sin- 170 gle-process service (for example, <a href="qmgr.8.html"><b>qmgr</b>(8)</a>) and some services 171 must be configured with no process limit (for example, 172 <a href="cleanup.8.html"><b>cleanup</b>(8)</a>). These limits must not be changed. 173 174 <b>Command name + arguments</b> 175 The command to be executed. Characters that are special to the 176 shell such as ">" or "|" have no special meaning here, and 177 quotes cannot be used to protect arguments containing white- 178 space. To protect whitespace, use "{" and "}" as described 179 below. 180 181 The command name is relative to the Postfix daemon directory 182 (pathname is controlled by the <b><a href="postconf.5.html#daemon_directory">daemon_directory</a></b> configuration 183 variable). 184 185 The command argument syntax for specific commands is specified 186 in the respective daemon manual page. 187 188 The following command-line options have the same effect for all 189 daemon programs: 190 191 <b>-D</b> Run the daemon under control by the command specified 192 with the <b><a href="postconf.5.html#debugger_command">debugger_command</a></b> variable in the <a href="postconf.5.html">main.cf</a> config- 193 uration file. See <a href="DEBUG_README.html">DEBUG_README</a> for hints and tips. 194 195 <b>-o {</b> <i>name</i> = <i>value</i> <b>}</b> (long form, Postfix >= 3.0) 196 Override the named <a href="postconf.5.html">main.cf</a> configuration parameter. The 197 parameter value can refer to other parameters as <i>$name</i> 198 etc., just like in <a href="postconf.5.html">main.cf</a>. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for syntax. 199 200 The "long form" supports whitespace in parameter values. 201 Whitespace after the outer "{", around "=", and before 202 the outer "}" is ignored. Example: 203 204 /etc/postfix/<a href="master.5.html">master.cf</a>: 205 submission inet .... smtpd 206 -o { smtpd_xxx_yyy = text with whitespace... } 207 208 NOTE: Over-zealous use of parameter overrides makes the 209 Postfix configuration hard to understand and maintain. 210 At a certain point, it might be easier to configure mul- 211 tiple instances of Postfix, instead of configuring multi- 212 ple personalities via <a href="master.5.html">master.cf</a>. 213 214 <b>-o</b> <i>name</i>=<i>value</i> (short form) 215 Override the named <a href="postconf.5.html">main.cf</a> configuration parameter. The 216 parameter value can refer to other parameters as <i>$name</i> 217 etc., just like in <a href="postconf.5.html">main.cf</a>. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for syntax. 218 219 The "short form" does not support whitespace around the 220 "=" or in parameter values. To specify a parameter value 221 that contains whitespace, use the long form described 222 above, or use commas instead of spaces if the parameter 223 supports that, or specify the value in <a href="postconf.5.html">main.cf</a>. Example: 224 225 /etc/postfix/<a href="master.5.html">master.cf</a>: 226 submission inet .... smtpd 227 -o smtpd_xxx_yyy=$submission_xxx_yyy 228 229 /etc/postfix/<a href="postconf.5.html">main.cf</a> 230 submission_xxx_yyy = text with whitespace... 231 232 NOTE: Over-zealous use of parameter overrides makes the 233 Postfix configuration hard to understand and maintain. 234 At a certain point, it might be easier to configure mul- 235 tiple instances of Postfix, instead of configuring multi- 236 ple personalities via <a href="master.5.html">master.cf</a>. 237 238 <b>-v</b> Increase the verbose logging level. Specify multiple <b>-v</b> 239 options to make a Postfix daemon process increasingly 240 verbose. 241 242 <b>Command-line arguments that start with {</b> 243 244 <b>Command-line arguments that contain whitespace</b> 245 246 <b>Command-line arguments that must be empty</b> 247 Specify "{" and "}" around such arguments (Postfix 3.0 248 and later). The outer "{" and "}" will be removed, 249 together with any leading or trailing whitespace in the 250 remaining text. 251 252 <b><a name="see_also">SEE ALSO</a></b> 253 <a href="master.8.html">master(8)</a>, process manager 254 <a href="postconf.5.html">postconf(5)</a>, configuration parameters 255 256 <b><a name="readme_files">README FILES</a></b> 257 <a href="BASIC_CONFIGURATION_README.html">BASIC_CONFIGURATION_README</a>, basic configuration 258 <a href="DEBUG_README.html">DEBUG_README</a>, Postfix debugging 259 260 <b><a name="license">LICENSE</a></b> 261 The Secure Mailer license must be distributed with this software. 262 263 <b>AUTHOR(S)</b> 264 Initial version by 265 Magnus Baeck 266 Lund Institute of Technology 267 Sweden 268 269 Wietse Venema 270 IBM T.J. Watson Research 271 P.O. Box 704 272 Yorktown Heights, NY 10598, USA 273 274 Wietse Venema 275 Google, Inc. 276 111 8th Avenue 277 New York, NY 10011, USA 278 279 MASTER(5) 280 </pre> </body> </html> 281