1#++ 2# NAME 3# master 5 4# SUMMARY 5# Postfix master process configuration file format 6# DESCRIPTION 7# The Postfix mail system is implemented by small number of 8# (mostly) client commands that are invoked by users, and by 9# a larger number of services that run in the background. 10# 11# Postfix services are implemented by daemon processes. These 12# run in the background under control of the \fBmaster\fR(8) 13# process. The master.cf configuration file defines how a 14# client program connects to a service, and what daemon 15# program runs when a service is requested. Most daemon 16# processes are short-lived and terminate voluntarily after 17# serving \fBmax_use\fR clients, or after inactivity for 18# \fBmax_idle\fR or more units of time. 19# 20# All daemons specified here must speak a Postfix-internal 21# protocol. In order to execute non-Postfix software use the 22# \fBlocal\fR(8), \fBpipe\fR(8) or \fBspawn\fR(8) services, or 23# run the server under control by \fBinetd\fR(8) or equivalent. 24# .PP 25# After changing master.cf you must execute "\fBpostfix reload\fR" 26# to reload the configuration. 27# SYNTAX 28# .ad 29# .fi 30# The general format of the master.cf file is as follows: 31# .IP \(bu 32# Empty lines and whitespace-only lines are ignored, as are 33# lines whose first non-whitespace character is a `#'. 34# .IP \(bu 35# A logical line starts with non-whitespace text. A line that 36# starts with whitespace continues a logical line. 37# .IP \(bu 38# Each logical line defines a single Postfix service. 39# Each service is identified by its name and type as described 40# below. When multiple lines specify the same service name 41# and type, only the last one is remembered. Otherwise, the 42# order of master.cf service definitions does not matter. 43# .PP 44# Each logical line consists of eight fields separated by 45# whitespace. These are described below in the order as they 46# appear in the master.cf file. 47# 48# Where applicable a field of "-" requests that the built-in 49# default value be used. For boolean fields specify "y" or 50# "n" to override the default value. 51# .IP "\fBService name\fR" 52# The service name syntax depends on the service type as 53# described next. 54# .IP "\fBService type\fR" 55# Specify one of the following service types: 56# .RS 57# .IP \fBinet\fR 58# The service listens on a TCP/IP socket and is accessible 59# via the network. 60# 61# The service name is specified as \fIhost:port\fR, denoting 62# the host and port on which new connections should be 63# accepted. The host part (and colon) may be omitted. Either 64# host or port may be given in symbolic form (host or service 65# name) or in numeric form (IP address or port number). 66# Host information may be enclosed inside "[]"; this form 67# is necessary only with IPv6 addresses. 68# .sp 69# Examples: a service named \fB127.0.0.1:smtp\fR or \fB::1:smtp\fR 70# receives 71# mail via the loopback interface only; and a service named 72# \fB10025\fR accepts connections on TCP port 10025 via 73# all interfaces configured with the \fBinet_interfaces\fR 74# parameter. 75# 76# .sp 77# Note: with Postfix version 2.2 and later specify 78# "\fBinet_interfaces = loopback-only\fR" in main.cf, instead 79# of hard-coding loopback IP address information in master.cf 80# or in main.cf. 81# .IP \fBunix\fR 82# The service listens on a UNIX-domain socket and is accessible 83# for local clients only. 84# 85# The service name is a pathname relative to the Postfix 86# queue directory (pathname controlled with the \fBqueue_directory\fR 87# configuration parameter in main.cf). 88# .sp 89# On Solaris 8 and earlier systems the \fBunix\fR type is 90# implemented with streams sockets. 91# .IP \fBfifo\fR 92# The service listens on a FIFO (named pipe) and is accessible 93# for local clients only. 94# 95# The service name is a pathname relative to the Postfix 96# queue directory (pathname controlled with the \fBqueue_directory\fR 97# configuration parameter in main.cf). 98# .IP \fBpass\fR 99# The service listens on a UNIX-domain socket, and is accessible 100# to local clients only. It receives one open connection (file 101# descriptor passing) per connection request. 102# 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). 106# .sp 107# On Solaris 8 and earlier systems the \fBpass\fR type is 108# implemented with streams sockets. 109# 110# This feature is available as of Postfix version 2.5. 111# .RE 112# .IP "\fBPrivate (default: y)\fR" 113# Whether or not access is restricted to the mail system. 114# Internet (type \fBinet\fR) services can't be private. 115# .IP "\fBUnprivileged (default: y)\fR" 116# Whether the service runs with root privileges or as the 117# owner of the Postfix system (the owner name is controlled 118# by the \fBmail_owner\fR configuration variable in the 119# main.cf file). 120# .sp 121# The \fBlocal\fR(8), \fBpipe\fR(8), \fBspawn\fR(8), and 122# \fBvirtual\fR(8) daemons require privileges. 123# .IP "\fBChroot (default: Postfix >= 3.0: n, Postfix <3.0: y)\fR" 124# Whether or not the service runs chrooted to the mail queue 125# directory (pathname is controlled by the \fBqueue_directory\fR 126# configuration variable in the main.cf file). 127# .sp 128# Chroot should not be used with the \fBlocal\fR(8), 129# \fBpipe\fR(8), \fBspawn\fR(8), and \fBvirtual\fR(8) daemons. 130# Although the 131# \fBproxymap\fR(8) server can run chrooted, doing so defeats 132# most of the purpose of having that service in the first 133# place. 134# .sp 135# The files in the examples/chroot-setup subdirectory of the 136# Postfix source archive show set up a Postfix chroot environment 137# on a variety of systems. See also BASIC_CONFIGURATION_README 138# for issues related to running daemons chrooted. 139# .IP "\fBWake up time (default: 0)\fR" 140# Automatically wake up the named service after the specified 141# number of seconds. The wake up is implemented by connecting 142# to the service and sending a wake up request. A ? at the 143# end of the wake-up time field requests that no wake up 144# events be sent before the first time a service is used. 145# Specify 0 for no automatic wake up. 146# .sp 147# The \fBpickup\fR(8), \fBqmgr\fR(8) and \fBflush\fR(8) 148# daemons require a wake up timer. 149# .IP "\fBProcess limit (default: $default_process_limit)\fR" 150# The maximum number of processes that may execute this 151# service simultaneously. Specify 0 for no process count limit. 152# .sp 153# NOTE: Some Postfix services must be configured as a 154# single-process service (for example, \fBqmgr\fR(8)) and 155# some services must be configured with no process limit (for 156# example, \fBcleanup\fR(8)). These limits must not be 157# changed. 158# .IP "\fBCommand name + arguments\fR" 159# The command to be executed. Characters that are special 160# to the shell such as ">" or "|" have no special meaning 161# here, and quotes cannot be used to protect arguments 162# containing whitespace. To protect whitespace, use "{" 163# and "}" as described below. 164# .sp 165# The command name is relative to the Postfix daemon directory 166# (pathname is controlled by the \fBdaemon_directory\fR 167# configuration variable). 168# .sp 169# The command argument syntax for specific commands is 170# specified in the respective daemon manual page. 171# .sp 172# The following command-line options have the same effect for 173# all daemon programs: 174# .RS 175# .IP \fB-D\fR 176# Run the daemon under control by the command specified with 177# the \fBdebugger_command\fR variable in the main.cf 178# configuration file. See DEBUG_README for hints and tips. 179# .IP "\fB-o { \fIname\fR = \fIvalue\fB }\fR (long form, Postfix >= 3.0)" 180# .IP "\fB-o \fIname\fR=\fIvalue\fR (short form)" 181# Override the named main.cf configuration parameter. The 182# parameter value can refer to other parameters as \fI$name\fR 183# etc., just like in main.cf. See \fBpostconf\fR(5) for 184# syntax. 185# .sp 186# NOTE 1: With the "long form" shown above, whitespace 187# after "{", around "=", and before "}" is ignored, and 188# whitespace within the parameter value is preserved. 189# .sp 190# NOTE 2: with the "short form" shown above, do not specify 191# whitespace around the "=" or in 192# parameter values. To specify a parameter value that contains 193# whitespace, use the long form described above, or use commas 194# instead of spaces, or specify the value in main.cf. Example: 195# .sp 196# .nf 197# /etc/postfix/master.cf: 198# submission inet .... smtpd 199# -o smtpd_xxx_yyy=$submission_xxx_yyy 200# .sp 201# /etc/postfix/main.cf 202# submission_xxx_yyy = text with whitespace... 203# .fi 204# .sp 205# NOTE 3: Over-zealous use of parameter overrides makes the 206# Postfix configuration hard to understand and maintain. At 207# a certain point, it might be easier to configure multiple 208# instances of Postfix, instead of configuring multiple 209# personalities via master.cf. 210# .IP \fB-v\fR 211# Increase the verbose logging level. Specify multiple \fB-v\fR 212# options to make a Postfix daemon process increasingly verbose. 213# .IP "Other command-line arguments" 214# Specify "{" and "}" around command arguments that contain 215# whitespace (Postfix 3.0 and later). Whitespace 216# after "{" and before "}" is ignored. 217# SEE ALSO 218# master(8), process manager 219# postconf(5), configuration parameters 220# README FILES 221# .ad 222# .fi 223# Use "\fBpostconf readme_directory\fR" or 224# "\fBpostconf html_directory\fR" to locate this information. 225# .na 226# .nf 227# BASIC_CONFIGURATION_README, basic configuration 228# DEBUG_README, Postfix debugging 229# LICENSE 230# .ad 231# .fi 232# The Secure Mailer license must be distributed with this software. 233# AUTHOR(S) 234# Initial version by 235# Magnus Baeck 236# Lund Institute of Technology 237# Sweden 238# 239# Wietse Venema 240# IBM T.J. Watson Research 241# P.O. Box 704 242# Yorktown Heights, NY 10598, USA 243# 244# Wietse Venema 245# Google, Inc. 246# 111 8th Avenue 247# New York, NY 10011, USA 248#-- 249