On Saturday 19 August 2006 19:58, Jeroen Geilman wrote: > They're not funky errors; spamd is simply telling you that it cannot > create a ~/.spamassassin directory for user "nobody" - which is not > surprising, since nobody doesn't *have* a homedirectory. > > This is a known limitation when running spamd from within exim's acls - > it can only run as one user, since there is currently no way for exim to > pass the username to spamd. > There are two solutions - either run spamd as one dedicated user who > does have a homedirectory, say "spamd", or use the old procmail > forwarding method which can and does work per-user. > > The reason Exim can't do per-user spamchecking has to do with the way it > processes messages - when the spamd ACL is evaluated, it doesn't yet > know the final destination. > > I found this out after some heavy Googling and detailed perusing of the > Exim manual - which is very good by the way, *if* you can grasp its syntax. > > I finally opted to just run as "nobody" and forget the per-user Bayes > database - resulting in a significant amount of spam... > > I'm currently moving back to postfix, which has worked for me in the past.
Thanks for the reply, I appreciate it. Okay, this now makes sense to me. nobody on my system has / as the home directory (wtf?), and of course it doesn't have perms there. so ~/ becomes // in the logs. Okay makes sense so far. What I did was make a dedicated user for spamd to drop down to. I informed gentoo of this by editing the appropriate options in /etc/conf.d/spamd , and also changing the location of the pidfile there to the home directory of the new user. I then set this users shell to bash (though I don't think I should need one?) Starting spamd looks normal. ps auwxxx | grep spam shows three processes: One root spamd and two children running as the user I specified. When exim sends mail at it, I get the exact same errors; As if it is for some reason using the root spamd. Doesn't really make sense to me. None of it makes sense to me, as i've run exim + spamd in the past on other servers out of the box; No mucking of usernames etc was ever needed. Also, I am not trying to get per-user spam stuff to work, only run spamd as a non-priv user, and have exim talk to the daemon via localhost:873. I feel like I am missing something here, any idea what it is? -- 99% of politicians make the rest look bad. -- [email protected] mailing list
