mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-07 14:16:53 -04:00
225 lines
11 KiB
HTML
225 lines
11 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html> <head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
<title> Postfix manual - proxymap(8) </title>
|
|
</head> <body> <pre>
|
|
PROXYMAP(8) PROXYMAP(8)
|
|
|
|
<b>NAME</b>
|
|
proxymap - Postfix lookup table proxy server
|
|
|
|
<b>SYNOPSIS</b>
|
|
<b>proxymap</b> [generic Postfix daemon options]
|
|
|
|
<b>DESCRIPTION</b>
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server provides read-only or read-write
|
|
table lookup service to Postfix processes. These services
|
|
are implemented with distinct service names: <b>proxymap</b> and
|
|
<b>proxywrite</b>, respectively. The purpose of these services
|
|
is:
|
|
|
|
<b>o</b> To overcome chroot restrictions. For example, a
|
|
chrooted SMTP server needs access to the system
|
|
passwd file in order to reject mail for non-exis-
|
|
tent local addresses, but it is not practical to
|
|
maintain a copy of the passwd file in the chroot
|
|
jail. The solution:
|
|
|
|
<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
|
|
<a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>
|
|
|
|
<b>o</b> To consolidate the number of open lookup tables by
|
|
sharing one open table among multiple processes.
|
|
For example, making mysql connections from every
|
|
Postfix daemon process results in "too many connec-
|
|
tions" errors. The solution:
|
|
|
|
<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> =
|
|
<a href="proxymap.8.html">proxy</a>:<a href="mysql_table.5.html">mysql</a>:/etc/postfix/virtual_alias.cf
|
|
|
|
The total number of connections is limited by the
|
|
number of proxymap server processes.
|
|
|
|
<b>o</b> To provide single-updater functionality for lookup
|
|
tables that do not reliably support multiple writ-
|
|
ers (i.e. all file-based tables).
|
|
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server implements the following requests:
|
|
|
|
<b>open</b> <i>maptype:mapname flags</i>
|
|
Open the table with type <i>maptype</i> and name <i>mapname</i>,
|
|
as controlled by <i>flags</i>. The reply includes the <i>map-</i>
|
|
<i>type</i> dependent flags (to distinguish a fixed string
|
|
table from a regular expression table).
|
|
|
|
<b>lookup</b> <i>maptype:mapname flags key</i>
|
|
Look up the data stored under the requested key.
|
|
The reply is the request completion status code and
|
|
the lookup result value. The <i>maptype:mapname</i> and
|
|
<i>flags</i> are the same as with the <b>open</b> request.
|
|
|
|
<b>update</b> <i>maptype:mapname flags key value</i>
|
|
Update the data stored under the requested key.
|
|
The reply is the request completion status code.
|
|
The <i>maptype:mapname</i> and <i>flags</i> are the same as with
|
|
the <b>open</b> request.
|
|
|
|
To implement single-updater maps, specify a process
|
|
limit of 1 in the <a href="master.5.html">master.cf</a> file entry for the
|
|
<b>proxywrite</b> service.
|
|
|
|
This request is supported in Postfix 2.5 and later.
|
|
|
|
<b>delete</b> <i>maptype:mapname flags key</i>
|
|
Delete the data stored under the requested key.
|
|
The reply is the request completion status code.
|
|
The <i>maptype:mapname</i> and <i>flags</i> are the same as with
|
|
the <b>open</b> request.
|
|
|
|
This request is supported in Postfix 2.5 and later.
|
|
|
|
The request completion status is one of OK, RETRY, NOKEY
|
|
(lookup failed because the key was not found), BAD (mal-
|
|
formed request) or DENY (the table is not approved for
|
|
proxy read or update access).
|
|
|
|
There is no <b>close</b> command, nor are tables implicitly
|
|
closed when a client disconnects. The purpose is to share
|
|
tables among multiple client processes.
|
|
|
|
<b>SERVER PROCESS MANAGEMENT</b>
|
|
<a href="proxymap.8.html"><b>proxymap</b>(8)</a> servers run under control by the Postfix <a href="master.8.html"><b>mas-</b></a>
|
|
<a href="master.8.html"><b>ter</b>(8)</a> server. Each server can handle multiple simultane-
|
|
ous connections. When all servers are busy while a client
|
|
connects, the <a href="master.8.html"><b>master</b>(8)</a> creates a new <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server
|
|
process, provided that the process limit is not exceeded.
|
|
Each server terminates after serving at least <b>$<a href="postconf.5.html#max_use">max_use</a></b>
|
|
clients or after <b>$<a href="postconf.5.html#max_idle">max_idle</a></b> seconds of idle time.
|
|
|
|
<b>SECURITY</b>
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server opens only tables that are approved
|
|
via the <b><a href="postconf.5.html#proxy_read_maps">proxy_read_maps</a></b> or <b><a href="postconf.5.html#proxy_write_maps">proxy_write_maps</a></b> configuration
|
|
parameters, does not talk to users, and can run at fixed
|
|
low privilege, chrooted or not. However, running the
|
|
proxymap server chrooted severely limits usability,
|
|
because it can open only chrooted tables.
|
|
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server is not a trusted daemon process,
|
|
and must not be used to look up sensitive information such
|
|
as user or group IDs, mailbox file/directory names or
|
|
external commands.
|
|
|
|
In Postfix version 2.2 and later, the proxymap client rec-
|
|
ognizes requests to access a table for security-sensitive
|
|
purposes, and opens the table directly. This allows the
|
|
same <a href="postconf.5.html">main.cf</a> setting to be used by sensitive and non-sen-
|
|
sitive processes.
|
|
|
|
Postfix-writable data files should be stored under a dedi-
|
|
cated directory that is writable only by the Postfix mail
|
|
system, such as the Postfix-owned <b><a href="postconf.5.html#data_directory">data_directory</a></b>.
|
|
|
|
In particular, Postfix-writable files should never exist
|
|
in root-owned directories. That would open up a particular
|
|
type of security hole where ownership of a file or direc-
|
|
tory does not match the provider of its content.
|
|
|
|
<b>DIAGNOSTICS</b>
|
|
Problems and transactions are logged to <b>syslogd</b>(8).
|
|
|
|
<b>BUGS</b>
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server provides service to multiple
|
|
clients, and must therefore not be used for tables that
|
|
have high-latency lookups.
|
|
|
|
The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> read-write service does not explicitly
|
|
close lookup tables (even if it did, this could not be
|
|
relied on, because the process may be terminated between
|
|
table updates). The read-write service should therefore
|
|
not be used with tables that leave persistent storage in
|
|
an inconsistent state between updates (for example, CDB).
|
|
Tables that support "sync on update" should be safe (for
|
|
example, Berkeley DB) as should tables that are imple-
|
|
mented by a real DBMS.
|
|
|
|
<b>CONFIGURATION PARAMETERS</b>
|
|
On busy mail systems a long time may pass before <a href="proxymap.8.html"><b>prox-</b></a>
|
|
<a href="proxymap.8.html"><b>ymap</b>(8)</a> relevant changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up. Use the
|
|
command "<b>postfix reload</b>" to speed up a change.
|
|
|
|
The text below provides only a parameter summary. See
|
|
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
|
|
|
|
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
|
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
|
|
<a href="master.5.html">master.cf</a> configuration files.
|
|
|
|
<b><a href="postconf.5.html#data_directory">data_directory</a> (see 'postconf -d' output)</b>
|
|
The directory with Postfix-writable data files (for
|
|
example: caches, pseudo-random numbers).
|
|
|
|
<b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
|
|
How much time a Postfix daemon process may take to
|
|
handle a request before it is terminated by a
|
|
built-in watchdog timer.
|
|
|
|
<b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
|
|
The time limit for sending or receiving information
|
|
over an internal communication channel.
|
|
|
|
<b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
|
|
The maximum amount of time that an idle Postfix
|
|
daemon process waits for an incoming connection
|
|
before terminating voluntarily.
|
|
|
|
<b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
|
|
The maximal number of incoming connections that a
|
|
Postfix daemon process will service before termi-
|
|
nating voluntarily.
|
|
|
|
<b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
|
|
The process ID of a Postfix command or daemon
|
|
process.
|
|
|
|
<b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
|
|
The process name of a Postfix command or daemon
|
|
process.
|
|
|
|
<b><a href="postconf.5.html#proxy_read_maps">proxy_read_maps</a> (see 'postconf -d' output)</b>
|
|
The lookup tables that the <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server is
|
|
allowed to access for the read-only service.
|
|
|
|
Available in Postfix 2.5 and later:
|
|
|
|
<b><a href="postconf.5.html#data_directory">data_directory</a> (see 'postconf -d' output)</b>
|
|
The directory with Postfix-writable data files (for
|
|
example: caches, pseudo-random numbers).
|
|
|
|
<b><a href="postconf.5.html#proxy_write_maps">proxy_write_maps</a> (see 'postconf -d' output)</b>
|
|
The lookup tables that the <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server is
|
|
allowed to access for the read-write service.
|
|
|
|
<b>SEE ALSO</b>
|
|
<a href="postconf.5.html">postconf(5)</a>, configuration parameters
|
|
<a href="master.5.html">master(5)</a>, generic daemon options
|
|
|
|
<b>README FILES</b>
|
|
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
|
|
|
<b>LICENSE</b>
|
|
The Secure Mailer license must be distributed with this
|
|
software.
|
|
|
|
<b>HISTORY</b>
|
|
The proxymap service was introduced with Postfix 2.0.
|
|
|
|
<b>AUTHOR(S)</b>
|
|
Wietse Venema
|
|
IBM T.J. Watson Research
|
|
P.O. Box 704
|
|
Yorktown Heights, NY 10598, USA
|
|
|
|
PROXYMAP(8)
|
|
</pre> </body> </html>
|