Problem with acl and shared mailboxes
Fabian
fabian at eideo.de
Mon Apr 3 12:56:26 EEST 2017
Hi there,
we are currently have the following problem:
User gustav at agreatdomain.de shares his INBOX to brunhilde at agreatdomain.com. But brunhilde can't
subscribe that mailbox.
host:~ # more //var/spool/mail/agreatdomain.com/gustav/Maildir/dovecot-acl
owner akxeilprwts
user=brunhilde at agreatdomain.com lprws
host:~ #
Doveadm acl debug request:
host:~ # doveadm acl debug -u sieglinde at agreatdomain.com shared/gustav
doveadm(sieglinde at agreatdomain.com): Error: Mailbox 'shared.gustav' in namespace 'shared/gustav/'
doesn't exist in /var/spool/mail/agreatdomain.com/gustav//Maildir/.shared.gustav
host:~ #
In the debug logfile I can see the following message:
Apr 03 10:29:18 imap(brunhilde at agreatdomain.com): Debug: acl: acl username = brunhilde at agreatdomain.com
Apr 03 10:29:18 imap(brunhilde at agreatdomain.com): Debug: acl: owner = 0
Apr 03 10:29:18 imap(brunhilde at agreatdomain.com): Debug: acl vfile: Global ACLs disabled
Apr 03 10:29:18 imap(brunhilde at agreatdomain.com): Debug: acl vfile: file /var/spool/mail/agreatdomain.com/gustav/Maildir/.shared.gustav/dovecot-acl not found
Apr 03 10:29:18 imap(brunhilde at agreatdomain.com): Debug: acl: No lookup right to mailbox: shared/gustav
Why is dovecot searching in .shared/.gustav instead of Maildir/ directly?
Any ideas?
My configuration:
host:~ # doveconf -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.12.67-60.64.24-default x86_64 SUSE Linux Enterprise Server 12 (x86_64) ext3
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
debug_log_path = /var/log/dovecot.debug
dict {
sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 480
lmtp_save_to_detail_mailbox = yes
mail_debug = yes
mail_gid = vmail
mail_location = maildir:/var/spool/mail/%d/%u/Maildir:LAYOUT=fs
mail_plugins = acl quota listescape
mail_privileged_group = vmail
mail_uid = dovecot
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
namespace {
hidden = yes
inbox = yes
list = no
location =
prefix =
separator = /
subscriptions = yes
}
namespace {
list = yes
location = maildir:%%h/Maildir:INDEXPVT=~/Maildir/shared/%%u
prefix = shared/%%n/
separator = /
subscriptions = no
type = shared
}
namespace Public {
list = children
location = maildir:/var/mail/%d/public:INDEXPVT=~/public:LAYOUT=fs
prefix = Public/
separator = /
subscriptions = no
type = public
}
namespace inbox {
inbox = no
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 = /
subscriptions = yes
type = private
}
passdb {
args = /etc/dovecot/masteruser.%s
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
acl_anyone = allow
acl_shared_dict = file:/var/spool/mail/%d/shared-mailboxes.db
quota = dict:User quota::proxy::sqlquota
quota2 = dict:Shared quota::proxy::sqlquota
quota_rule2 = INBOX/Trash:storage=+100M
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at d8ox1.int.pro-ite.de
protocols = imap pop3 lmtp sieve
service auth-worker {
user = dovecot
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
mode = 0666
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = dovecot
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
ssl = no
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = acl quota listescape acl quota sieve
}
protocol lda {
mail_plugins = acl quota listescape acl sieve
}
protocol imap {
mail_plugins = acl quota listescape imap_quota imap_acl
}
host:~ #
--
Kind regards,
Fabian
More information about the dovecot
mailing list