spamassassin: Run as user "spamd" instead of root.
authorMatthijs Kooijman <matthijs@stdin.nl>
Mon, 27 Apr 2009 13:55:06 +0000 (15:55 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Mon, 27 Apr 2009 13:55:06 +0000 (15:55 +0200)
When running as root, spamd will run as whatever user the client claims
to be, to read preferences. Since this is not-so-secure, we'll just run
as an unprivileged user to begin with (since we don't do per-user
privileges anyway).

etc/default/spamassassin

index b61c44b43cad05712ca283568f1a41f2614492ae..9c161389a38ac6ea18617e62c0359766b29f1be2 100644 (file)
@@ -14,7 +14,14 @@ ENABLED=1
 # make sure --max-children is not set to anything higher than 5,
 # unless you know what you're doing.
 
-OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
+# We run spamd as the user "spamd", which was created specifically for running
+# spamd, using:
+#   adduser --system --home /var/lib/spamd --disabled-login --disabled-password spamd
+# By default, spamd runs as root, dropping privileges to whatever username the
+# client claims to have, which is not-so-secure IMHO. There shouldn't be any
+# any clients other than exim that can access spamd, but since we don't store
+# any user preferences, let's just run as an unprivileged user.
+OPTIONS="--create-prefs --max-children 5 --username spamd"
 
 # Pid file
 # Where should spamd write its PID to file? If you use the -u or