xref: /netbsd-src/external/ibm-public/postfix/dist/proto/master (revision 4a6720548cbf2e9325ed049c8a675ae86609f654)
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, started on-demand by 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#	execute the software with \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 (see \fBhosts\fR(5) or
65#	\fBservices\fR(5)) 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 stream socket and is
83#	accessible 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 \fBunix-dgram\fR
92#	The service listens on a UNIX-domain datagram socket and is
93#	accessible 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 "\fBfifo\fR (obsolete)"
99#	The service listens on a FIFO (named pipe) and is accessible
100#	for local clients only.
101#
102#	The service name is a pathname relative to the Postfix
103#	queue directory (pathname controlled with the \fBqueue_directory\fR
104#	configuration parameter in main.cf).
105# .IP \fBpass\fR
106#	The service listens on a UNIX-domain stream socket, and is
107#	accessible to local clients only. It receives one open
108#	connection (file descriptor passing) per connection request.
109#
110#	The service name is a pathname relative to the Postfix
111#	queue directory (pathname controlled with the \fBqueue_directory\fR
112#	configuration parameter in main.cf).
113# .sp
114#	On Solaris 8 and earlier systems the \fBpass\fR type is
115#	implemented with streams sockets.
116#
117#	This feature is available as of Postfix version 2.5.
118# .RE
119# .IP "\fBPrivate (default: y)\fR"
120#	Whether a service is internal to Postfix (pathname starts
121#	with \fBprivate/\fR), or exposed through Postfix command-line
122#	tools (pathname starts with \fBpublic/\fR).
123#	Internet (type \fBinet\fR) services can't be private.
124# .IP "\fBUnprivileged (default: y)\fR"
125#	Whether the service runs with root privileges or as the
126#	owner of the Postfix system (the owner name is controlled
127#	by the \fBmail_owner\fR configuration variable in the
128#	main.cf file).
129# .sp
130#	The \fBlocal\fR(8), \fBpipe\fR(8), \fBspawn\fR(8), and
131#	\fBvirtual\fR(8) daemons require privileges.
132# .IP "\fBChroot (default: Postfix >= 3.0: n, Postfix < 3.0: y)\fR"
133#	Whether or not the service runs chrooted to the mail queue
134#	directory (pathname is controlled by the \fBqueue_directory\fR
135#	configuration variable in the main.cf file).
136# .sp
137#	Chroot should not be used with the \fBlocal\fR(8),
138#	\fBpipe\fR(8), \fBspawn\fR(8), and \fBvirtual\fR(8) daemons.
139#	Although the
140#	\fBproxymap\fR(8) server can run chrooted, doing so defeats
141#	most of the purpose of having that service in the first
142#	place.
143# .sp
144#	The files in the examples/chroot-setup subdirectory of the
145#	Postfix source show how to set up a Postfix chroot environment
146#	on a variety of systems. See also BASIC_CONFIGURATION_README
147#	for issues related to running daemons chrooted.
148# .IP "\fBWake up time (default: 0)\fR"
149#	Automatically wake up the named service after the specified
150#	number of seconds. The wake up is implemented by connecting
151#	to the service and sending a wake up request.  A ? at the
152#	end of the wake-up time field requests that no wake up
153#	events be sent before the first time a service is used.
154#	Specify 0 for no automatic wake up.
155# .sp
156#	The \fBpickup\fR(8), \fBqmgr\fR(8) and \fBflush\fR(8)
157#	daemons require a wake up timer.
158# .IP "\fBProcess limit (default: $default_process_limit)\fR"
159#	The maximum number of processes that may execute this
160#	service simultaneously. Specify 0 for no process count limit.
161# .sp
162#	NOTE: Some Postfix services must be configured as a
163#	single-process service (for example, \fBqmgr\fR(8)) and
164#	some services must be configured with no process limit (for
165#	example, \fBcleanup\fR(8)).  These limits must not be
166#	changed.
167# .IP "\fBCommand name + arguments\fR"
168#	The command to be executed.  Characters that are special
169#	to the shell such as ">" or "|" have no special meaning
170#	here, and quotes cannot be used to protect arguments
171#	containing whitespace. To protect whitespace, use "{"
172#	and "}" as described below.
173# .sp
174#	The command name is relative to the Postfix daemon directory
175#	(pathname is controlled by the \fBdaemon_directory\fR
176#	configuration variable).
177# .sp
178#	The command argument syntax for specific commands is
179#	specified in the respective daemon manual page.
180# .sp
181#	The following command-line options have the same effect for
182#	all daemon programs:
183# .RS
184# .IP \fB-D\fR
185#	Run the daemon under control by the command specified with
186#	the \fBdebugger_command\fR variable in the main.cf
187#	configuration file.  See DEBUG_README for hints and tips.
188# .IP "\fB-o { \fIname\fR = \fIvalue\fB }\fR (long form, Postfix >= 3.0)"
189# .IP "\fB-o \fIname\fR=\fIvalue\fR (short form)"
190#	Override the named main.cf configuration parameter. The
191#	parameter value can refer to other parameters as \fI$name\fR
192#	etc., just like in main.cf.  See \fBpostconf\fR(5) for
193#	syntax.
194# .sp
195#	NOTE 1: With the "long form" shown above, whitespace
196#	after "{", around "=", and before "}" is ignored, and
197#	whitespace within the parameter value is preserved.
198# .sp
199#	NOTE 2: with the "short form" shown above, do not specify
200#	whitespace around the "=" or in
201#	parameter values. To specify a parameter value that contains
202#	whitespace, use the long form described above, or use commas
203#	instead of spaces, or specify the value in main.cf. Example:
204# .sp
205# .nf
206#	/etc/postfix/master.cf:
207#	    submission inet .... smtpd
208#		-o smtpd_xxx_yyy=$submission_xxx_yyy
209# .sp
210#	/etc/postfix/main.cf
211#	    submission_xxx_yyy = text with whitespace...
212# .fi
213# .sp
214#	NOTE 3: Over-zealous use of parameter overrides makes the
215#	Postfix configuration hard to understand and maintain.  At
216#	a certain point, it might be easier to configure multiple
217#	instances of Postfix, instead of configuring multiple
218#	personalities via master.cf.
219# .IP \fB-v\fR
220#	Increase the verbose logging level. Specify multiple \fB-v\fR
221#	options to make a Postfix daemon process increasingly verbose.
222# .IP "Other command-line arguments"
223#	Specify "{" and "}" around command arguments that contain
224#	whitespace (Postfix 3.0 and later). Whitespace
225#	after "{" and before "}" is ignored.
226# SEE ALSO
227#	master(8), process manager
228#	postconf(5), configuration parameters
229# README FILES
230# .ad
231# .fi
232#	Use "\fBpostconf readme_directory\fR" or
233#	"\fBpostconf html_directory\fR" to locate this information.
234# .na
235# .nf
236#	BASIC_CONFIGURATION_README, basic configuration
237#	DEBUG_README, Postfix debugging
238# LICENSE
239# .ad
240# .fi
241#	The Secure Mailer license must be distributed with this software.
242# AUTHOR(S)
243#	Initial version by
244#	Magnus Baeck
245#	Lund Institute of Technology
246#	Sweden
247#
248#	Wietse Venema
249#	IBM T.J. Watson Research
250#	P.O. Box 704
251#	Yorktown Heights, NY 10598, USA
252#
253#	Wietse Venema
254#	Google, Inc.
255#	111 8th Avenue
256#	New York, NY 10011, USA
257#--
258