shared folder and private index file problems

Thomas Robers robers at tutech.de
Wed May 31 17:19:43 EEST 2017


Hello,

I'm using Dovecot 2.2.30 with Pideonhole 0.4.18 and I'm having
some problems, perhaps someone can give an hint on how to solve
them.

When I try to create a folder in the toplevel directory of a shared
mailbox, i get a "permission denied" although I have the rights,
example:

1.doveadm -f table acl rights -u bob at example.com shared/bill at example.com
  Rights

  lookup read write write-seen write-deleted insert post expunge create
  delete admin
2.doveadm mailbox create -u bob at example.com "shared/bill at example.com"
  doveadm(bob at example.com): Error: Can't create mailbox
  shared/bill at example.com: Permission denied

Creating an subfolder of a folder which already exists works fine:

1.doveadm -f table acl rights -u bob at example.com shared/bill at example.com
  /Drafts
  Rights

  lookup read write write-seen write-deleted insert post expunge create
  delete admin
2.doveadm mailbox create -u bob at example.com "shared/bill at example.com
  /Drafts/Test" (no output)
3.doveadm -f table acl rights -u bob at example.com shared/bill at example.com
  /Drafts/Test
  Rights

  lookup read write write-seen write-deleted insert post expunge create
  delete

So this works, but creating a folder directly in the inbox of the shared
mailbox doesn't work and I don't know why. Is this not supported? Or do
I miss something important?

Another problem I have is, that the private index files in shared
folders are often to always marked as inconsistent in the dovecot log
file, an example of such log messages look like:

- imap(bob at example.com): Error: /export/home/imap/bob at example.com/shared
  /bill at example.com/.Templates/dovecot.index.pvt view is inconsistent
- imap(bob at example.com): Error: /export/home/imap/bob at example.com/shared
  /bill at example.com/.Templates/dovecot.index.pvt view is inconsistent
- imap(bob at example.com): Error: /export/home/imap/bob at example.com/shared
  /bill at example.com/.Trash/dovecot.index.pvt view is inconsistent
- imap(bob at example.com): Error: /export/home/imap/bob at example.com/shared
  /bill at example.com/.Trash/dovecot.index.pvt view is inconsistent

And this is logged for almost every user who has access to a shared
mailbox and I don't know how to stop getting the indexes inconsistent.

Here's my Dovecot configuration:

# 2.2.30 (8acbc67): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.18 (29cc74d)
# OS: Linux 2.6.32-642.4.2.el6.x86_64 x86_64 CentOS release 6.9 (Final) ext4
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
mail_debug = yes
mail_location = maildir:/export/home/imap/%Lu/Maildir
mail_plugins = acl zlib mail_log notify
mailbox_idle_check_interval = 10 secs
mailbox_list_index = yes
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 index ihave duplicate mime foreverypart extracttext
mbox_write_locks = fcntl
namespace {
  hidden = no
  ignore_on_failure = no
  inbox = no
  list = children
  location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  hidden = no
  inbox = yes
  list = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = INBOX/
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile:/etc/dovecot/global-acls:cache_secs=300
  acl_shared_dict = file:/export/home/shared-db/shared-mailboxes
  mail_log_events = append delete undelete expunge copy mailbox_delete
mailbox_rename flag_change
  mail_log_fields = uid box msgid size from flags
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_global = /var/lib/dovecot/sieve/global/
  sieve_user_log = ~/.dovecot.sieve.log
  zlib_save = gz
  zlib_save_level = 6
}
protocols = imap pop3 lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  process_limit = 500
  process_min_avail = 20
}
service lmtp {
  inet_listener lmtp {
    address = 127.0.0.1
    port = 24
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
}
ssl = required
ssl_cert = </etc/pki/dovecot/certs/mail.tutech.de.crt_chain
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!EXPORT
ssl_key =  # hidden, use -P to show it
ssl_protocols = !SSLv3 !SSLv2
syslog_facility = local6
userdb {
  args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
  driver = ldap
}
protocol lmtp {
  mail_plugins = acl zlib mail_log notify sieve
}
protocol imap {
  mail_max_userip_connections = 100
  mail_plugins = acl zlib mail_log notify imap_zlib imap_acl
}

Any help is appreciated.

Many Thanks & best regards
Thomas



More information about the dovecot mailing list