[Dovecot] dovecot LDA w/virtual domains and postfix

Leah Cunningham leah at heinous.org
Fri May 5 17:43:32 EEST 2006


Hi,

I am running into trouble getting things set up correctly for postfix + 
virtual domains  (using ldap) with dovecot LDA.  I can get it to work without 
LDA, but I'm running into permissions problems when I try to run with LDA.  I 
am wondering if anyone has any good examples of configuring this.

It would seem that we can't deliver in setuid mode, even though the 
documentation seemed to indicate that we can.

I basically have a 'vmail' user (1015) that owns a /var/vmail/domains 
directory tree.  I have set the following in postfix master.cf:

# Dovecot LDA
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}

In main.cf

dovecot_destination_recipient_limit = 1
virtual_transport = dovecot
virtual_mailbox_base = /var/vmail/domains
virtual_mailbox_maps = ldap:/etc/postfix/ldap-mailbox.cf
virtual_mailbox_domains = ldap:/etc/postfix/ldap-vdoms.cf
virtual_uid_maps = static:1015
virtual_gid_maps = static:12
home_mailbox = Maildir/

and in dovecot.conf:

protocols = imap imaps pop3 pop3s
ssl_disable = no
ssl_cert_file = /etc/ssl/certs/sauerkraut.heinous.org.crt
ssl_key_file = /etc/ssl/private/sauerkraut.heinous.org.key
mail_extra_groups = mail
valid_chroot_dirs = /var/vmail/domains
default_mail_env = maildir:/var/vmail/domains/%d/%n/mail
protocol lda {
  postmaster_address = postmaster at frauerpower.com
}
protocol imap {
}
protocol pop3 {
}
auth default {
  mechanisms = plain
  passdb ldap {
    args = /etc/dovecot/dovecot-ldap.conf
  }
  userdb ldap {
    args = /etc/dovecot/dovecot-ldap.conf
  }
  user = root
}
auth default_with_listener {
  mechanisms = plain
  userdb ldap {
    args = /etc/dovecot/dovecot-ldap.conf
  }
  passdb ldap {
    args = /etc/dovecot/dovecot-ldap.conf
  }
  socket listen {
    master {
      path = /var/run/dovecot-auth-master
      mode = 0600
      user = vmail
      group = mail
    }
  }
}
plugin {
}

However, I must be missing something.  I get the following when trying to send 
the user a message:

May  5 10:42:48 sauerkraut deliver: setuid(1015) failed: Operation not 
permitted
May  5 10:42:48 sauerkraut postfix/pipe[28978]: ECD7FF5E: 
to=<leah at frauerpower.com>, orig_to=<root at oogabooga.heinous.org>, 
relay=dovecot, delay=1, status=bounced (Command died with status 89: 
"/usr/lib/dovecot/deliver")

Doing 'postmap -q leah at frauerpower.com ldap:/etc/postfix/ldap-mailbox.cf' 
returns 'frauerpower.com/leah/mail/' which, in the non LDA mode worked okay, 
plonking the mail under /var/vmail/domains/frauerpower.com/leah/mail

How is this sort of thing normally set up?  Apologies in advance for my 
ignorance, I am pretty new to dovecot.

Leah


More information about the dovecot mailing list