I've been testing my SA configuration using spamc in my private .procmailrc. Everything is working well (I think :-) ). As this setup is going to be used by 4 or 5 acounts on this box, I thought it would make more sense to use /etc/procmailrc instead of creating a bunch of private .procmailrc.
However, this causes the call to pyzor to fail. Here's the output: Fri Jan 26 13:55:41 2007 [2463] dbg: pyzor: pyzor is available: /usr/bin/pyzor Fri Jan 26 13:55:41 2007 [2463] dbg: info: entering helper-app run mode Fri Jan 26 13:55:41 2007 [2463] dbg: pyzor: opening pipe: /usr/bin/pyzor check < /tmp/.spamassassin2463bOQWAltmp Fri Jan 26 13:55:41 2007 [2780] dbg: util: changing real uid from 0 to match effective uid 99 Fri Jan 26 13:55:41 2007 [2780] dbg: util: setuid: ruid=99 euid=99 Fri Jan 26 13:55:42 2007 [2463] dbg: pyzor: [2780] finished: exit=0x0100 Fri Jan 26 13:55:42 2007 [2463] dbg: pyzor: got response: Traceback (most recent call last) :\n File "/usr/bin/pyzor", line 4, in ?\n pyzor.client.run()\n File "/usr/lib/python2.4/site-packages/pyzor/client.py", line 934, in run\n ExecCall().run()\n File "/usr/lib/python2.4 /site-packages/pyzor/client.py", line 169, in run\n os.mkdir(homedir)\n OSError: [Errno 13] Permission denied: '/.pyzor' Fri Jan 26 13:55:42 2007 [2463] dbg: info: leaving helper-app run mode Fri Jan 26 13:55:42 2007 [2463] warn: pyzor: check failed: internal error This is the equivalent section, when spamc is called from .procmailc: Fri Jan 26 14:35:52 2007 [2463] dbg: pyzor: pyzor is available: /usr/bin/pyzor Fri Jan 26 14:35:52 2007 [2463] dbg: info: entering helper-app run mode Fri Jan 26 14:35:52 2007 [2463] dbg: pyzor: opening pipe: /usr/bin/pyzor check < /tmp/.spamassassin2463QSvIJitmp Fri Jan 26 14:35:52 2007 [2834] dbg: util: changing real uid from 0 to match effective uid 1000 Fri Jan 26 14:35:52 2007 [2834] dbg: util: setuid: ruid=1000 euid=1000 Fri Jan 26 14:35:55 2007 [2463] dbg: pyzor: [2834] finished: exit=0x0100 Fri Jan 26 14:35:55 2007 [2463] dbg: pyzor: got response: 82.94.255.100:24441 (200, 'OK') 0 0 You can see, that the uid is changed to "nobody", instead of the user. Cheers.