[Dovecot] Post-login scripting with virtual users

Mark Willcox willcox at datahelper.com
Wed Aug 24 23:22:14 EEST 2011

Much closer!  It seems to run the script, but now I get:
Error: net_connect_unix(/var/run/dovecot/imap-postpop) failed:
Connection refused

I thought it might be because popuser has no logon capability
(/sbin/nologin), but I changed that and connection is still refused.

Can it be my script?  It is just:
echo "$USER $IP `host $IP`" > /var/lib/postpop/db/$IP
exec "$@"

The IP-named file is not being created.  popuser owns the folder.

Also, when I get this working, can I set up a pop3 equivalent?

Mark Willcox
Data Helper, Inc.

On 8/24/2011 2:06 PM, Rick Romero wrote:
> Quoting Mark Willcox <willcox at datahelper.com>:
>> I am running Dovecot 2.0.13 on Fedora 15.  I have migrated from a
>> bincimap installation using checklocalpwd.  All email is in folders
>> owned by a unprivileged user, popuser.  The email users are entirely
>> virtual and have no relationship to actual linux users.
>> I am trying to implement a Post-login script to register the IP address
>> that the authentication came from.  Dovecot seems to be trying to
>> execute the script as the email non-user, which does not work.  I have
>> specified that the script should be run as popuser, but it still runs as
>> devnull at dhzone.com for instance.  Everything up top that point seems to
>> be happening happily under popuser.
> I'd remove the unix_listener directive:
> service imap-postpop {
>    executable = script-login /usr/local/bin/set_postpop
>    user = popuser
> }
> The equivalent is working for me.
> Rick

More information about the dovecot mailing list