Hi, I've been trying to follow the documentation that I am finding, but 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. 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: setuid(1015) failed: Operation not permitted 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
Hi Leah. Leah Cunningham wrote:> However, I must be missing something. I get the following when trying to send > the user a message: > > setuid(1015) failed: Operation not permittedWhich one reports this error, Postfix or Dovecot?> > 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/mailAFAIK Dovecot doesn't care about the return value of the Postfix LDAP-Query, so this is irrelevant for Dovecot. Regards Andreas
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