Dear all, I am hoping someone can help me with a problem that I have been trying to fix for days. Using postfix and dovecot 2.0.19 on Ubuntu 12.04 with LDAP authentication and virtual users and domains.
Basically I want to setup both shared and public mailboxes. The shared part is working fine, ie I can share folders successfully and other uses can see them. However when I try and create sub folders in the public folder they don't show up in the client. I have tried creating them in manually in the filesystem ie mkdir .folder and also via thunderbird. I have read through the dovecot wiki's several times over and still cannot see why it won't work. I have debug turned on and these are the log messages I get in syslog when I start up thunderbird:
acl: No lookup right to mailbox: public/folder
acl vfile: file /home/example.com/public/.folder/dovecot-acl not found
acl vfile: file /home/example.com/public/dovecot-acl not found
So I create the dovecot-acl file manually in public and set the right file system permissions and the errors go away, yet the folder still doesn't get created despite the following getting logged in syslog.
Jan 29 23:43:57 alpha dovecot: imap(testuser@example.com): Debug: Namespace public/: /home/example.com/public/.folder2 doesn't exist yet, using default permissions
Jan 29 23:43:57 alpha dovecot: imap(testuser@example.com): Debug: Namespace public/: Using permissions from /home/example.com/public: mode=0777 gid=-1
Right now I am thinking the problem might be that I am trying to setup both shared and public namespaces within the same configuration and therefore dovecot is looking for acl's for the public when it shouldn't be? Feel like I am stabbing in the dark with this though.
Any help anyone can offer will be greatly appreciated! Thanks in advance.
Regards, Michael.
Here is my dovecot.conf
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-042stab072.10 i686 Ubuntu 12.04.1 LTS
auth_debug_passwords = yes
auth_socket_path = /var/run/dovecot/auth-master
auth_verbose = yes
disable_plaintext_auth = no
lda_mailbox_autocreate = yes
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = yes
mail_gid = vmail
mail_location = maildir:~/Maildir
mail_plugins = quota acl
mail_privileged_group = mail
mail_uid = vmail
namespace {
inbox = yes
location =
prefix =
separator = /
type = private
}
namespace {
hidden = no
inbox = no
list = yes
location = maildir:/home/%%d/%%n/Maildir:INDEX=/home/%d/%n/Maildir/Shared/%%n
prefix = Shared/%%n/
separator = /
subscriptions = no
type = shared
}
namespace {
hidden = no
list = yes
location = maildir:/home/%d/public
prefix = public/
separator = /
subscriptions = no
type = public
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
passdb {
driver = pam
}
plugin {
acl = vfile
acl_anyone = allow
acl_shared_dict = file:/home/%d/shared-mailboxes.db
quota = maildir
quota_rule = *:storage=25GB
quota_rule2 = Trash:storage=+10%%
quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
}
postmaster_address = postmaster@example.com
protocols = imap pop3
quota_full_tempfail = yes
sendmail_path = /usr/lib/sendmail
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
group = vmail
mode = 0600
user = vmail
}
user = root
}
service imap-login {
chroot = login
executable = /usr/lib/dovecot/imap-login
inet_listener imap {
address = *
port = 143
}
inet_listener imaps {
address = *
port = 993
ssl = yes
}
user = dovecot
}
service imap {
executable = /usr/lib/dovecot/imap
}
service pop3-login {
chroot = login
inet_listener pop3 {
address = *
port = 110
}
inet_listener pop3s {
address = *
port = 995
ssl = yes
}
user = dovecot
}
ssl_cert =
ssl_key =
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
userdb {
driver = passwd
}
protocol imap {
mail_plugins = quota imap_quota acl imap_acl
}
protocol pop3 {
mail_plugins = quota
pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = quota
postmaster_address = postmaster@example.com
sendmail_path = /usr/lib/sendmail
}