On 1/25/06, Jakob Hirsch <jh@???> wrote:
> > I guess this can easily be fixed by running sa-learn as root rather
> > than mail, but I wanted to get to the bottom of why I exim's access to
> > the Bayes database is assumed to be root.
>
> Exim simply passes the username to spamd, you can check this by running
> spamd with -D (debug). This shouldn't happen, as spamd should setuid()
> to the user the client tells it (according to the manpage).
>
> I have no user-configs, so I run spamd with --username=spamd and
> --nouser-config, which does the job here. Maybe this will help you.
Jacob,
I too have no user configs and so my spamd arguments are:
--nouser-config --username=mail -C /etc/mail/spamassassin
--max-children=3 --socketpath=/var/run/spamd.sock
I tried running spamd with -D, and I get the following log lines:
Jan 25 15:27:49 dave spamd[7388]: prefork: ordered 7396 to accept
Jan 25 15:27:49 dave spamd[7388]: prefork: child 7396: entering state 2
Jan 25 15:27:49 dave spamd[7396]: spamd: got connection over /var/run/spamd.sock
Jan 25 15:27:49 dave spamd[7388]: prefork: new lowest idle kid: 7397
Jan 25 15:27:49 dave spamd[7396]: spamd: checking message (unknown) for mail:8
Jan 25 15:27:49 dave spamd[7396]: bayes: database connection established
Jan 25 15:27:49 dave spamd[7396]: bayes: found bayes db version 3
Jan 25 15:27:49 dave spamd[7396]: bayes: Using userid: 2
Userid 2 is root in the bayes database:
mysql> select id, username from bayes_vars;
+----+----------+
| id | username |
+----+----------+
| 1 | mail |
| 2 | root |
+----+----------+
2 rows in set (0.00 sec)
Cheers,
John