SPAWN(8)                                                              SPAWN(8)

NAME
       spawn - Postfix external command spawner

SYNOPSIS
       spawn [generic Postfix daemon options] command_attributes...

DESCRIPTION
       The  spawn daemon provides the Postfix equivalent of inetd.  It listens
       on a port as specified in the Postfix  master.cf  file  and  spawns  an
       external  command whenever a connection is established.  The connection
       can be made over local IPC (such as UNIX-domain sockets) or  over  non-
       local  IPC (such as TCP sockets).  The command's standard input, output
       and error streams are connected directly to the communication endpoint.

       This daemon expects to be run from the master(8) process manager.

COMMAND ATTRIBUTE SYNTAX
       The  external command attributes are given in the master.cf file at the
       end of a service definition.  The syntax is as follows:

       user=username (required)

       user=username:groupname
              The external command is executed with the rights of  the  speci-
              fied  username.   The  software refuses to execute commands with
              root privileges, or with  the  privileges  of  the  mail  system
              owner.  If groupname is specified, the corresponding group ID is
              used instead of the group ID of of username.

       argv=command... (required)
              The command to be executed. This must be specified as  the  last
              command attribute.  The command is executed directly, i.e. with-
              out interpretation of shell meta characters by a  shell  command
              interpreter.

BUGS
       In  order  to  enforce  standard Postfix process resource controls, the
       spawn daemon runs only one external command at a  time.   As  such,  it
       presents  a  noticeable overhead by wasting precious process resources.
       The spawn daemon is expected to be replaced by a more structural  solu-
       tion.

DIAGNOSTICS
       The  spawn daemon reports abnormal child exits.  Problems are logged to
       syslogd(8).

SECURITY
       This program needs root privilege in order to execute external commands
       as the specified user. It is therefore security sensitive.  However the
       spawn daemon does not talk to the external command and thus is not vul-
       nerable to data-driven attacks.

CONFIGURATION PARAMETERS
       The  following  main.cf parameters are especially relevant to this pro-
       gram. See the Postfix main.cf file for syntax details and  for  default
       values. Use the postfix reload command after a configuration change.

Miscellaneous
       export_environment
              List  of names of environment parameters that can be exported to
              non-Postfix processes.

       mail_owner
              The process privileges used while not running an  external  com-
              mand.

Resource control
       service_time_limit
              The  amount  of  time the command is allowed to run before it is
              killed with force. service is the first field of  the  entry  in
              the  master.cf  file.  The  default  time  limit is given by the
              global command_time_limit configuration parameter.

SEE ALSO
       master(8) process manager
       syslogd(8) system logging

LICENSE
       The Secure Mailer license must be distributed with this software.

AUTHOR(S)
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

                                                                      SPAWN(8)