[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