xref: /netbsd-src/external/ibm-public/postfix/dist/html/spawn.8.html (revision f3cfa6f6ce31685c6c4a758bc430e69eb99f50a4)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3<html> <head>
4<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
5<title> Postfix manual - spawn(8) </title>
6</head> <body> <pre>
7SPAWN(8)                                                              SPAWN(8)
8
9<b>NAME</b>
10       spawn - Postfix external command spawner
11
12<b>SYNOPSIS</b>
13       <b>spawn</b> [generic Postfix daemon options] command_attributes...
14
15<b>DESCRIPTION</b>
16       The  <a href="spawn.8.html"><b>spawn</b>(8)</a> daemon provides the Postfix equivalent of <b>inetd</b>.  It lis-
17       tens on a port as specified in the Postfix <a href="master.5.html"><b>master.cf</b></a> file and spawns an
18       external  command whenever a connection is established.  The connection
19       can be made over local  IPC  (such  as  UNIX-domain  sockets)  or  over
20       non-local  IPC  (such  as  TCP sockets).  The command's standard input,
21       output and error streams are connected directly  to  the  communication
22       endpoint.
23
24       This daemon expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
25
26<b>COMMAND ATTRIBUTE SYNTAX</b>
27       The  external command attributes are given in the <a href="master.5.html"><b>master.cf</b></a> file at the
28       end of a service definition.  The syntax is as follows:
29
30       <b>user</b>=<i>username</i> (required)
31
32       <b>user</b>=<i>username</i>:<i>groupname</i>
33              The external command is executed with the rights of  the  speci-
34              fied  <i>username</i>.   The  software refuses to execute commands with
35              root privileges, or with  the  privileges  of  the  mail  system
36              owner.  If <i>groupname</i> is specified, the corresponding group ID is
37              used instead of the group ID of <i>username</i>.
38
39       <b>argv</b>=<i>command</i>... (required)
40              The command to be executed. This must be specified as  the  last
41              command attribute.  The command is executed directly, i.e. with-
42              out interpretation of shell meta characters by a  shell  command
43              interpreter.
44
45<b>BUGS</b>
46       In  order  to  enforce  standard Postfix process resource controls, the
47       <a href="spawn.8.html"><b>spawn</b>(8)</a> daemon runs only one external command at a time.  As such,  it
48       presents  a  noticeable overhead by wasting precious process resources.
49       The <a href="spawn.8.html"><b>spawn</b>(8)</a> daemon is expected to be replaced  by  a  more  structural
50       solution.
51
52<b>DIAGNOSTICS</b>
53       The  <a href="spawn.8.html"><b>spawn</b>(8)</a> daemon reports abnormal child exits.  Problems are logged
54       to <b>syslogd</b>(8).
55
56<b>SECURITY</b>
57       This program needs root privilege in order to execute external commands
58       as the specified user. It is therefore security sensitive.  However the
59       <a href="spawn.8.html"><b>spawn</b>(8)</a> daemon does not talk to the external command and thus  is  not
60       vulnerable to data-driven attacks.
61
62<b>CONFIGURATION PARAMETERS</b>
63       Changes  to  <a href="postconf.5.html"><b>main.cf</b></a>  are picked up automatically as <a href="spawn.8.html"><b>spawn</b>(8)</a> processes
64       run for only a limited amount of time. Use the command "<b>postfix reload</b>"
65       to speed up a change.
66
67       The  text  below provides only a parameter summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for
68       more details including examples.
69
70       In the text below, <i>transport</i> is the first field of  the  entry  in  the
71       <a href="master.5.html"><b>master.cf</b></a> file.
72
73<b>RESOURCE AND RATE CONTROL</b>
74       <b><a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> ($<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b>
75              The  amount  of  time the command is allowed to run before it is
76              terminated.
77
78              Postfix 2.4 and later support a suffix that specifies  the  time
79              unit:  s (seconds), m (minutes), h (hours), d (days), w (weeks).
80              The default time unit is seconds.
81
82<b>MISCELLANEOUS</b>
83       <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
84              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
85              figuration files.
86
87       <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
88              How  much  time  a  Postfix  daemon process may take to handle a
89              request before it is terminated by a built-in watchdog timer.
90
91       <b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
92              The list of environment variables that a  Postfix  process  will
93              export to non-Postfix processes.
94
95       <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
96              The  time  limit  for  sending  or receiving information over an
97              internal communication channel.
98
99       <b><a href="postconf.5.html#mail_owner">mail_owner</a> (postfix)</b>
100              The UNIX system account that owns the  Postfix  queue  and  most
101              Postfix daemon processes.
102
103       <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
104              The  maximum  amount of time that an idle Postfix daemon process
105              waits for an incoming connection before terminating voluntarily.
106
107       <b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
108              The maximal number of incoming connections that a Postfix daemon
109              process will service before terminating voluntarily.
110
111       <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
112              The process ID of a Postfix command or daemon process.
113
114       <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
115              The process name of a Postfix command or daemon process.
116
117       <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
118              The location of the Postfix top-level queue directory.
119
120       <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
121              The syslog facility of Postfix logging.
122
123       <b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
124              The mail system name that is prepended to the  process  name  in
125              syslog  records,  so  that  "smtpd" becomes, for example, "post-
126              fix/smtpd".
127
128<b>SEE ALSO</b>
129       <a href="postconf.5.html">postconf(5)</a>, configuration parameters
130       <a href="master.8.html">master(8)</a>, process manager
131       syslogd(8), system logging
132
133<b>LICENSE</b>
134       The Secure Mailer license must be distributed with this software.
135
136<b>AUTHOR(S)</b>
137       Wietse Venema
138       IBM T.J. Watson Research
139       P.O. Box 704
140       Yorktown Heights, NY 10598, USA
141
142       Wietse Venema
143       Google, Inc.
144       111 8th Avenue
145       New York, NY 10011, USA
146
147                                                                      SPAWN(8)
148</pre> </body> </html>
149