[Dovecot] Chroot
Bambero
bambero at gmail.com
Sun Nov 13 18:25:55 EET 2011
Hello,
I have successfully setup dovecot with chroot but there are two things yet
1. submission_host problem (I posted message 2 days ago)
2. Problem with acl's and sharing:
all maildirs are located in: /var/mail/jdoe at example.com/Maildir
so:
mail_chroot=/var/mail
I setup acls with:
10-mail.conf
...
namespace {
type = private
separator = /
prefix =.
inbox = yes
hidden = no
list = yes
subscriptions = yes
}
namespace {
type = shared
separator = /
prefix = shared/%%u/
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
subscriptions = yes
list = yes
}
...
90-acl.conf
...
plugin {
acl = vfile:cache_secs=5
}
plugin {
acl_shared_dict = file:/%i.db
}
...
Setting acl is no problem
there are
dovecot-acl
dovecot-acl-list
in Maildir.
and dictionary /var/mail/xxx.db contains list od shares
I can also see shared folder in my IMAP client but when trying to
subscribe i got error:
Error: userdb lookup: connect(/var/dovecot/auth-userdb) failed: No
such file or directory
Error: Namespace 'shared/': Could not lookup home for user jdoe at example.com
/var/dovecot/auth-userdb is not accessible because chroot. But why
userdb is necessary in this case ?
I hope there is a solution without disabling chroot.
Below my basic configuration.
Regards,
Bambero
# 2.0.13: /etc/dovecot/dovecot.conf
# OS: OpenBSD 5.0 i386
auth_mechanisms = plain login digest-md5 cram-md5 apop
default_internal_user = _dovecot
default_login_user = _dovenull
first_valid_gid = 1000
first_valid_uid = 1000
last_valid_gid = 10000
last_valid_uid = 10000
mail_chroot = /var/mail
mail_location = maildir:~/Maildir
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 imapflags notify
mbox_write_locks = fcntl
mmap_disable = yes
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
autocreate = Trash
autocreate2 = Spam
autocreate3 = Sent
autocreate4 = Drafts
autosubscribe = Trash
autosubscribe2 = Spam
autosubscribe3 = Sent
autosubscribe4 = Drafts
quota = maildir:User quota
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_extensions = +notify +imapflags
sieve_global_path = /etc/sieve/default.sieve
}
protocols = imap pop3 sieve sieve
service auth {
unix_listener auth-client {
mode = 0660
user = _exim
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
ssl_ca = /etc/ssl/ca-bundle.crt
ssl_cert = </etc/ssl/mycert.crt
ssl_key = </etc/ssl/private/mycert.key
submission_host = 127.0.0.1
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
valid_chroot_dirs = /var/mail
protocol lda {
mail_plugins = sieve quota autocreate
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
mail_plugins = quota imap_quota autocreate
}
protocol pop3 {
mail_plugins = quota imap_quota autocreate
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
More information about the dovecot
mailing list