Thank you for your response. It helped a lot. The contents of the conf
file is:
connect = host=localhost dbname=[db] user=[*] password=[*]
user_query = SELECT CONCAT('maildir:', domain.home_dir, '/mail/',
mailbox.maildir, 'mail') as mail, domain.uid, domain.gid,
CONCAT('quota=maildir:storage=', mailbox.quota) AS quota,
CONCAT(domain.home_dir, '/mail/', mailbox.maildir) as home FROM domain
JOIN mailbox ON domain.domain = mailbox.domain WHERE mailbox.username =
'%u';
[*] is not vmail :)
Ok there are two entries in the domain table; one for "ALL" uid & gid =
null and one for paranoidandroid.co.za having uid and gid of 501. I'm
not sure how these entries are created, I guess it is by mail admin.
Should I hack it to 104? or make a new entry? If new entry, then through
mail admin, and how?
My apologies for all the questions I'm new to Linux and would really
like to learn...
Best regards,
Andre
Timo Sirainen wrote:
On Aug 14, 2009, at 9:01 AM, André Labuschagné wrote:
*Aug 13 10:13:52 li73-31 dovecot: deliver(andre at
paranoidandroid.co.za): Fatal: setgid(501(paranoidandroid)) failed
with euid=104(vmail), gid=106(vmail), egid=106(vmail): Operation not
permitted*
This means that you start deliver as vmail:vmail (which I guess is
intended), but userdb lookup says that this user should have GID
paranoidandroid. So deliver tries to change the proces's GID, but
isn't allowed to because it's not running as root.
userdb:
driver: sql
args: /etc/dovecot/dovecot_sql_userdb.conf
What do you have in user_query? Is it intended that different users
have different gids (and maybe uids)?