[Dovecot] Problem with recompiling sieve scripts after migrating to Dovecot 2.0 from 1.2

Andrés Yacopino ayacopino at acasalud.com.ar
Thu Mar 17 23:00:46 EET 2011

I saw this in log file of dovecot:

Error: sieve: binary save: failed to create temporary file:
failed: Permission denied (euid=40(vmail) egid=41(vmail) missing +w
perm: /usr/local/etc/sieve/after, euid is not dir owner)
acamail dovecot: lda(xxxxx at xxxxxx): Error: sieve: the lda sieve plugin
does not have permission to save global sieve script binaries; global
sieve scripts like /usr/local/etc/sieve/after/after.dovecot.sieve need
to be pre-compiled using the sievec tool

So i tried to recompile script using sievec like:

sievec /usr/lcaol/etc/sieve/after/after.dovecot.sieve but i get:

sievec(root): Error: user root: Initialization failed: Initializing mail
storage from mail_location setting failed: stat(/root/Maildir) failed:
Permission denied (euid=40(vmail) egid=41(vmail) missing +x perm: /root,
euid is not dir owner)
sievec(root): Fatal: Invalid user settings. Refer to server log for more

What i must do to resolve this?

My dovecot configuration is:

# 2.0.11: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux xxxxxx
auth_master_user_separator = *
auth_username_format = %Lu
disable_plaintext_auth = no
first_valid_gid = 40
first_valid_uid = 40
mail_gid = vmail
mail_location = maildir:~/Maildir
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date
passdb {
  args = /usr/local/etc/passwd.masterusers
  driver = passwd-file
  master = yes
passdb {
  args = /usr/local/etc/dovecot-ldap.conf
  driver = ldap
plugin/quota = maildir
plugin/quota_rule = *:storage=614400
plugin/quota_rule2 = Trash:storage=+61440
plugin/sieve_after = /usr/local/etc/sieve/after/after.dovecot.sieve
plugin/sieve_before = /usr/local/etc/sieve/before/spam.dovecot.sieve
protocols = imap pop3 sieve
service auth {
  unix_listener auth-master {
    group = vmail
    mode = 0600
    user = vmail
  user = root
ssl_cert = </usr/local/etc/ssl/certs/dovecot.pem
ssl_key = </usr/local/etc/ssl/private/dovecot.pem
userdb {
  args = /usr/local/etc/dovecot-ldap.conf
  driver = ldap
protocol imap {
  mail_plugins = quota imap_quota
protocol pop3 {
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
protocol lda {
  auth_socket_path = /usr/local/var/run/dovecot/auth-master
  lda_mailbox_autocreate = yes
  mail_plugins = quota sieve
  postmaster_address = postmaster at xxxxxx
  sendmail_path = /usr/lib/sendmail

Thanks a lot,

Andrés Fernando Yacopino

More information about the dovecot mailing list