We probably don’t have a straight-forward spamd configuration so there wasn’t much noise out there from other people suffering this same issue so i think it may be peculiar to us.
I upgraded from spamassassin 3.2.3 to 3.2.4 but received the following error when starting the service:
cannot use –sql-config without -u
As we are using the -q and -x options when starting the daemon. Removing the -q -x and the associated values from the local.cf file got things running in the meantime but afterwards I needed to add the -u (user) option – which we had not been using previously. Using -u root (not an idea I was happy with but wanted to see if it got running) resulted with /var/log/maillog informing us that:
spamd: cannot run as nonexistent user or root with -u option
So amending the “-u root” to read “-u nobody” got the service running again.
For reference here is the SPAMDCONFIG options in /etc/sysconfig/spamassassin
-x -q -u nobody –round-robin -m 25 -i 1.2.3.4 -A 2.3.4.5,1.2.3.5 -d -c
And for more reference here is an explanation of the spamd options:
-l, --allow-tell Allow learning/reporting-c, --create-prefs Create user preferences files-C path, --configpath=path Path for default config files--siteconfigpath=path Path for site configs-d, --daemonize Daemonize-h, --help Print usage message.-i [ipaddr], --listen-ip=ipaddr Listen on the IP ipaddr-p port, --port=port Listen on specified port-m num, --max-children=num Allow maximum num children--min-children=num Allow minimum num children--min-spare=num Lower limit for number of spare children--max-spare=num Upper limit for number of spare children--max-conn-per-child=num Maximum connections accepted by child before it is respawned--round-robin Use traditional prefork algorithm--timeout-tcp=secs Connection timeout for client headers--timeout-child=secs Connection timeout for message checks-q, --sql-config Enable SQL config (only useful with -x)-Q, --setuid-with-sql Enable SQL config (only useful with -x, enables use of -H)--ldap-config Enable LDAP config (only useful with -x)--setuid-with-ldap Enable LDAP config (only useful with -x, enables use of -H)--virtual-config-dir=dir Enable pattern based Virtual configs (needs -x)-r pidfile, --pidfile Write the process id to pidfile-s facility, --syslog=facility Specify the syslog facility--syslog-socket=type How to connect to syslogd-u username, --username=username Run as username-g groupname, --groupname=groupname Run as groupname-v, --vpopmail Enable vpopmail config-x, --nouser-config Disable user config files--auth-ident Use ident to authenticate spamc user--ident-timeout=timeout Timeout for ident connections-A host,..., --allowed-ips=..,.. Limit ip addresses which can connect-D, --debug[=areas] Print debugging messages (for areas)-L, --local Use local tests only (no DNS)-P, --paranoid Die upon user errors-H [dir], --helper-home-dir[=dir] Specify a different HOME directory--ssl Run an SSL server--server-key keyfile Specify an SSL keyfile--server-cert certfile Specify an SSL certificate--socketpath=path Listen on given UNIX domain socket--socketowner=name Set UNIX domain socket file's owner--socketgroup=name Set UNIX domain socket file's group--socketmode=mode Set UNIX domain socket file's mode

