[Dovecot] Dovecot does not update acl_shared_dict file

Chris Smith chris at dotchristopher.com
Tue Oct 30 15:03:55 EET 2012


Hi all,

Firstly, thanks for all your effort with this software. Much appreciated.

I am having a slight issues trying to enable reading of other users  
mailboxes. The docs are a little sparse for those that aren't  
mailadmin heros, I wonder if anyone could please help me see where I  
am going wrong.

I would like to allow some users to list and read the mailboxes of  
others. E.g:
When User1 logs in, they are presented with a list of their own  
folders, and those of User2, User3, etc to which they have (e.g.  
read/list) access

I followed the instructions on the wiki (for Version 1.X)- there are  
two concepts here:
1. Grant some [e.g. list/read] access on a mailbox folder to a particular user
2. Enable the acl_shared_dict to allow dovecot to track (and display  
to IMAP clients) the folders to which they have access. This will take  
the form of a BDB file:
/var/lib/dovecot/shared-mailboxes.db
This file can only be updated by using the SETACL command. *This is  
where I have the problem*. The SETACL command does nothing.

No matter how hard I try, I cannot get dovecot to update this file.  
The only indication I have that the file exists and is readable by  
dovecot is the disappearance from the logs of the line:
No acl_shared_dict setting - shared mailbox listing is disabled
So I can see that dovecot knows the file is there because it does not  
complain any more.

The file is there (because I created it myself, although it is empty:  
size = 0), and in a moment of weakness I made sure it could be updated  
(this will be changed back!):
ls -l /var/lib/dovecot/shared-mailboxes.db
-rwxrwxrwx 1 dovecot dovecot 0 2012-10-30 12:27  
/var/lib/dovecot/shared-mailboxes.db

But if I try to update the ACL, absolutely nothing happens:
[ > command ]  [ < reply ]

> telnet localhost 143
< * OK  [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID  
ENABLE STARTTLS AUTH=CRAM-MD5] Email server
> a login [User2] [pass]

< a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID  
ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND  
UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1  
CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH ACL  
RIGHTS=texk] Logged in
> a SETACL Inbox [User 1] rl
< a OK Setacl complete.

At this time, in the dovecot log (with debug enabled):
2012-10-30 13:55:24 IMAP([User2]): Info: Namespace : Using permissions  
from /home/mailboxes/[domain]/[User1]: mode=0770 gid=-1
2012-10-30 13:55:24 IMAP([User2]): Info: acl vfile: reading file  
/home/mailboxes/[domain]/[User1]/dovecot-acl
2012-10-30 13:55:24 IMAP([User2]): Info: acl vfile: reading file  
/home/mailboxes/[domain]/[USer1]/dovecot-acl

Can anyone please help me track down what I'm doing wrong here?! It's  
driving me mad! Thanks for your time if you've read this far!!

As requested:
dovecot --version
1.2.9

base_dir: /var/run/dovecot/
log_path: /var/log/dovecot
info_log_path: /var/log/dovecot.info
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imaps imap
listen: 127.0.0.1:143
ssl_listen: 37.235.54.98
ssl_cert_file: /etc/ssl/dovecot.crt
ssl_key_file: /etc/ssl/private/dovecot.key
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
login_greeting: Email server
valid_chroot_dirs: /var/spool/vmail
mail_location: maildir:/home/mailboxes/%d/%n
mail_debug: yes
mbox_write_locks: fcntl dotlock
mail_plugins: acl imap_acl
lda:
   postmaster_address: [ valid at ddress ]
auth default:
   mechanisms: plain cram-md5
   verbose: yes
   passdb:
     driver: passwd-file
     args: /etc/dovecot/passwd
   userdb:
     driver: passwd-file
     args: /etc/dovecot/users
   socket:
     type: listen
     client:
       path: /var/spool/postfix/private/auth-client
       mode: 432
       user: postfix
       group: postfix
     master:
       path: /var/spool/postfix/private/auth-master
       mode: 384
       user: postfix
       group: postfix
plugin:
   acl: vfile
   acl_shared_dict: file:/var/lib/dovecot/shared-mailboxes.db
   acl: vfile:/etc/dovecot/acls




More information about the dovecot mailing list