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@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


Reply via email to