summaryrefslogtreecommitdiff
path: root/debian/README.system_aliases
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.system_aliases')
-rw-r--r--debian/README.system_aliases44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/README.system_aliases b/debian/README.system_aliases
new file mode 100644
index 0000000..baa19bd
--- /dev/null
+++ b/debian/README.system_aliases
@@ -0,0 +1,44 @@
+How to use pipe deliveries from alias files
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Using pipes in the /etc/aliases file is disabled by default in the
+Debian exim 4 packages, because the program would run as the exim
+admin-user Debian-exim, which might open up security holes.
+
+Invoking pipes from /etc/aliases file is widely considered obsolete
+and deprecated. The Debian exim package maintainers would like to
+suggest using a dedicated router/transport pair to invoke local
+processes for mail processing. For example, the Debian mailman package
+contains a /usr/share/doc/mailman/README.EXIM file that gives a good
+example how to implement this. Using a dedicated router/transport
+pairs have the following advantages:
+
+ * The router/transport pair can be put in place by another package,
+ giving a well-defined transaction point between exim4 and $PACKAGE.
+ * Not allowing pipe deliveries from alias files makes it harder to
+ accidentally run programs with wrong privileges.
+ * It is possible to run different pipe processes under different
+ accounts is possible with this setup.
+ * Even if only invoking a single local program, it is easier to do
+ with your dedicated router/transport since you won't need to change
+ this file, making automatic updates of this file possible for future
+ versions of the exim4 packages. If you do local changes here, dpkg
+ conffile handling will bother you on future updates.
+
+If you insist on using /etc/aliases in the traditional way, you will need
+to activate the "pipe_transport = ..." entry manually for the
+system_aliases-router in /etc/exim4/exim4.conf.template (or if you are
+using split-configuration - dc_use_split_config='true' in
+/etc/exim4/update-exim4.conf.conf -
+/etc/exim4/conf.d/router/400_exim4-config_system_aliases.
+
+If any of your aliases expand to pipes or files or directories you
+should set up a user and a group for these deliveries to run under.
+You can do this by uncommenting the "user" option below (changing the
+user name as appropriate) and adding a "group" option if necessary.
+Alternatively, you can specify "user" on the transports that are used.
+Note that the transports listed in the system_aliases router are the
+same as are used for .forward files; you might want to set up
+different ones for pipe and file deliveries from aliases.
+
+# vim:tabstop=3:expandtab:shiftwidth=3:textwidth=73