sharing INBOX with ACL -> share all folders
Marco Giunta
giunta at sissa.it
Tue Jul 28 09:13:34 UTC 2015
Hi at all,
I have a problem with ACL; I want to share INBOX and Sent folder to an
other user, but when I configure ACL on INBOX, all folders are shared
(Sent, Junk, Draft, Trash, etc)
# doveadm acl get -u janedoe INBOX
ID Global Rights
user=johndoe expunge insert lookup post read write write-deleted
write-seen
# doveadm acl get -u janedoe Sent
ID Global Rights
user=johndoe expunge insert lookup post read write write-deleted
write-seen
# doveadm acl get -u janedoe Trash
ID Global Rights
# doveadm acl get -u janedoe Drafts
ID Global Rights
# doveadm acl get -u janedoe Junk
ID Global Rights
# doveadm mailbox list -u johndoe
Trash
Junk
Drafts
Sent
Archives
Archives.2015
Other Users
Other Users.janedoe
Other Users.janedoe.Junk
Other Users.janedoe.Drafts
Other Users.janedoe.Sent
Other Users.janedoe.Trash
Other Users.janedoe.INBOX
INBOX
If I remove the INBOX ACL, only 'Sent' folder is shared, as expected:
# doveadm acl delete -u janedoe INBOX johndoe
# doveadm mailbox list -u provahe
Trash
Trash.saved-messages
Junk
Drafts
Sent
INBOX_spam
Archives
Archives.2015
Archives.2015.INBOX_spam
Other Users
Other Users.janedoe
Other Users.janedoe.Sent
INBOX
My Dovecot instance use a single user, and all my mailboxes use standard
maildir files:
drwx------ 9 vmail mail 0 Jul 28 10:59 .
drwx------ 12 vmail mail 3864 Jul 28 09:39 ..
drwx------ 2 vmail mail 0 Jul 28 09:51 cur
-rw------- 1 vmail mail 0 Jul 28 10:59 dovecot-acl
-rw------- 1 vmail mail 16 Jul 28 10:59 dovecot-acl-list
-rw------- 1 vmail mail 1448 Jul 28 09:51 dovecot.index.cache
-rw------- 1 vmail mail 1016 Jul 28 09:52 dovecot.index.log
-rw------- 1 vmail mail 113 Jul 28 09:51 dovecot-uidlist
-rw------- 1 vmail mail 8 Jul 28 09:39 dovecot-uidvalidity
-r--r--r-- 1 vmail mail 0 Jul 28 09:39 dovecot-uidvalidity.55b731ac
drwx------ 5 vmail mail 0 Jul 28 09:39 .Drafts
lrwxrwxrwx 1 vmail mail 5 Jul 28 09:39 .INBOX_spam -> .Junk
drwx------ 5 vmail mail 0 Jul 28 09:39 .Junk
-rw------- 1 vmail mail 16 Jul 28 09:39 maildirsize
drwx------ 2 vmail mail 0 Jul 28 09:51 new
drwx------ 5 vmail mail 0 Jul 28 09:50 .Sent
-rw------- 1 vmail mail 37 Jul 28 09:39 subscriptions
drwx------ 2 vmail mail 0 Jul 28 09:51 tmp
drwx------ 5 vmail mail 0 Jul 28 09:39 .Trash
any clue to solve my problem ?? I've already try to play with
'acl_defaults_from_inbox' setting, but no way ..
Thank you,
Marco
# 2.2.15: /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.6 (3e924b1b6c5c+)
# OS: Linux 2.6.18-400.1.1.el5 x86_64 Red Hat Enterprise Linux Server
auth_master_user_separator = *
auth_mechanisms = plain login
disable_plaintext_auth = no
doveadm_password = XXXXXXXXXXXXXXXXXXXXXXXX
doveadm_port = 12345
first_valid_uid = 200
hostname = xxxxxxx.sissa.it
imap_client_workarounds = delay-newmail
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
lda_original_recipient_header = X-Original-To
listen = *
login_log_format_elements = user=<%u> PID=%p method=%m rip=%r lip=%l %c
login_trusted_networks = XXX.XXX.1.172/30 XXX.XXX.24.0/23
mail_gid = mail
mail_home = /var/spool/mail/%1n/%n
mail_location =
maildir:/var/spool/mail/%1n/%n:INDEX=/var/shared/indexes/%1n/%n
mail_plugins = acl fts fts_solr mailbox_alias quota
mail_shared_explicit_inbox = yes
mail_uid = vmail
maildir_very_dirty_syncs = 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 ihave duplicate imapflags notify
mbox_write_locks = fcntl
mmap_disable = yes
namespace archives {
hidden = no
inbox = no
list = children
location =
maildir:/var/spool/archives/%1n/%n:INDEX=/var/shared/indexes/%1n/%n/archives
mailbox 2015 {
auto = subscribe
special_use = \Archive
}
prefix = Archives.
separator = .
subscriptions = no
type = private
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox INBOX_spam {
auto = subscribe
special_use = \Junk
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = .
}
namespace others {
list = children
location =
maildir:/var/spool/mail/%%1n/%%n:INDEXPVT=/var/shared/indexes/%1n/%n/shared/%%n
prefix = Other Users.%%n.
separator = .
subscriptions = no
type = shared
}
passdb {
args = /etc/dovecot/passwd.masterusers
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile:/etc/dovecot/global-acls:cache_secs=300
acl_defaults_from_inbox = no
acl_shared_dict = file:/var/shared/dovecot/shared-mailboxes.dict
fts = solr
fts_autoindex = yes
fts_autoindex_max_recent_msgs = 20
fts_solr = url=http://solr.localdomain:8080/solr/
mailbox_alias_new = INBOX_spam
mailbox_alias_old = Junk
quota = maildir:User quota:ns=
quota2 = maildir:Archive quota:ns=Archives.
quota2_rule = *:storage=20GB
quota2_warning = storage=95%% quota2-warning 95 %u
quota2_warning2 = storage=90%% quota2-warning 90 %u
quota2_warning3 = storage=80%% quota2-warning 80 %u
quota_rule = *:storage=5GB
quota_rule2 = Trash:storage=+20%%
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 Quota exceeded (mailbox for user
is full)
quota_status_success = DUNNO
quota_warning = storage=100%% quota-warning 100 %u
quota_warning2 = storage=95%% quota-warning 95 %u
quota_warning3 = storage=90%% quota-warning 90 %u
quota_warning4 = storage=80%% quota-warning 80 %u
sieve = file:~/sieve;active=~/sieve/.dovecot.sieve
sieve_default = /etc/dovecot/sieve/dovecot.sieve
sieve_extensions = +notify +imapflags
sieve_max_redirects = 16
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
postmaster_address = postmaster at sissa.it
protocols = imap pop3 lmtp sieve
rejection_reason = Your message to <%t> was automatically rejected for
the following reason: %n%n%r
service auth {
inet_listener {
port = 49494
}
unix_listener auth-userdb {
user = vmail
}
}
service dict {
unix_listener dict {
user = vmail
}
}
service doveadm {
inet_listener {
port = 26001
}
}
service imap-login {
process_min_avail = 16
service_count = 0
}
service imap {
process_limit = 2048
}
service lmtp {
inet_listener lmtp {
port = 24
}
process_min_avail = 5
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
process_min_avail = 16
service_count = 0
vsz_limit = 256 M
}
service quota-status {
client_limit = 1
executable = /usr/libexec/dovecot/quota-status -p postfix
inet_listener {
port = 25001
}
}
service quota-warning {
executable = script /usr/local/bin/dovecot-quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = vmail
}
service quota2-warning {
executable = script /usr/local/bin/dovecot-quota2-warning.sh
unix_listener quota2-warning {
user = vmail
}
user = vmail
}
ssl_cert = </etc/pki/dovecot/certs/xxxxx-crt.pem
ssl_key = </etc/pki/dovecot/private/Xxxxx-key.pem
ssl_protocols = !SSLv2 !SSLv3
submission_host = xxxxxx.sissa.it:25
syslog_facility = local2
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
protocol lmtp {
mail_plugins = acl fts fts_solr mailbox_alias quota sieve
postmaster_address = xxxxxxx at sissa.it
}
protocol lda {
info_log_path =
log_path =
mail_plugins = acl fts fts_solr mailbox_alias quota sieve
syslog_facility = local2
}
protocol imap {
mail_max_userip_connections = 50
mail_plugins = acl fts fts_solr mailbox_alias quota imap_quota imap_acl
}
protocol sieve {
mail_max_userip_connections = 50
}
protocol pop3 {
mail_max_userip_connections = 50
}
--
-----------------------------------
|Marco Giunta - SISSA Computer Staff|
|Via Bonomea, 265 |
|34136 - Trieste, Italy |
|Tel: +39-40-3787-503 |
|Fax: +39-040-3787-244 |
|e-mail: giunta at sissa.it |
-----------------------------------
More information about the dovecot
mailing list