Hello,
I'm trying to set up an alternate user with a different inbox using
passwd-file and userdb extra fields and the extra field settings don't seem
to be taking effect. I've used auth_debug and mail_debug and I'm unclear
how I can further troubleshoot this.
Is it possible to have inbox=yes in one namespace globally and then override
this for one user by setting inbox=no for that namespace and then inbox=yes for
another?
My doveconf -n is below. I would like to have inbox=yes for the inbox namespace,
inbox=no for the virtual namespace, and then be able to invert these for
selected users using userdb extra fields. My attempt at doing this so far looks
like
bam-ios:[REDACTED]:500:500::/home/bam::user=bam namespace/inbox/inbox=no
namespace/virtual/inbox=yes
Changing the user with user= seems to work fine, but the inbox= changes
don't. Here is some relevant log data.
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: Loading modules from
directory: /usr/lib/dovecot/modules/auth
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: passwd-file
/etc/dovecot/users: Read 1 users in 0 secs
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: auth client connected
(pid=14967)
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: client in:
AUTH#0111#011PLAIN#011service=imap#011secured#011session=Rgx2MErG4wBAd51y#011lip=216.93.241.245#011rip=64.119.157.114#011lport=993#011rport=38115#011resp=<hidden>
Aug 2 11:37:29 new-miranda dovecot: auth: Debug:
passwd-file(bam-ios,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup:
user=bam-ios file=/etc/dovecot/users
Aug 2 11:37:29 new-miranda dovecot: auth: Debug:
auth(bam-ios,64.119.157.114,<Rgx2MErG4wBAd51y>): username changed bam-ios
-> bam
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: client out:
OK#0111#011user=bam#011namespace/inbox/inbox=no#011namespace/virtual/inbox=yes
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: master in: REQUEST#[REDACTED]
Aug 2 11:37:29 new-miranda dovecot: auth: Debug:
passwd-file(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup: user=bam
file=/etc/dovecot/users
Aug 2 11:37:29 new-miranda dovecot: auth:
passwd-file(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): unknown user
Aug 2 11:37:29 new-miranda dovecot: auth: Debug:
passwd(bam,64.119.157.114,<Rgx2MErG4wBAd51y>): lookup
Aug 2 11:37:29 new-miranda dovecot: auth: Debug: master out:
USER#0111425670145#011bam#011system_groups_user=bam#011uid=500#011gid=500#011home=/home/bam
Aug 2 11:37:29 new-miranda dovecot: imap-login: Login: user=<bam>,
method=PLAIN, rip=64.119.157.114, lip=216.93.241.245, mpid=14970, TLS,
session=<Rgx2MErG4wBAd51y>
Aug 2 11:37:29 new-miranda dovecot: imap: Debug: Loading modules from
directory: /usr/lib/dovecot/modules
Aug 2 11:37:29 new-miranda dovecot: imap: Debug: Module loaded:
/usr/lib/dovecot/modules/lib20_virtual_plugin.so
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: Effective uid=500,
gid=500, home=/home/bam
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace inbox:
type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=mdbox:/srv/mail/bam/mdbox
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs:
root=/srv/mail/bam/mdbox, index=, control=, inbox=, altAug 2 11:37:29
new-miranda dovecot: imap(bam): Debug: Namespace : Using permissions from
/srv/mail/bam/mdbox: mode=0700 gid=-1
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: Namespace virtual:
type=private, prefix=virtual/, sep=/, inbox=no, hidden=yes, list=no,
subscriptions=yes location=virtual:/srv/mail/bam/virtual
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs:
root=/srv/mail/bam/virtual, index=, control=, inbox=, altAug 2 11:37:29
new-miranda dovecot: imap(bam): Debug: Namespace mdbox: type=private,
prefix=mdbox/, sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes
location=mdbox:/srv/mail/bam/mdbox
Aug 2 11:37:29 new-miranda dovecot: imap(bam): Debug: fs:
root=/srv/mail/bam/mdbox, index=, control=, inbox=, alt
I also tried not having inbox=yes anywhere in the global configurations, but
then I get
Aug 2 11:52:22 new-miranda dovecot: imap(bam): Error: user bam: Initialization
failed: namespace configuration error: inbox=yes namespace missing
I'm having great luck with the virtual plugin, but I only want to use it for
the inbox on some clients. Any ideas on why my inbox=yes/no overrides aren't
taking effect?
Thanks,
--Bret
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.5 ext4
mail_location = mdbox:/srv/mail/%u/mdbox
mail_plugins = " virtual"
namespace inbox {
inbox = no
location =
prefix =
}
namespace mdbox {
hidden = yes
list = no
location =
prefix = mdbox/
separator = /
}
namespace virtual {
hidden = yes
inbox = yes
list = no
location = virtual:/srv/mail/%u/virtual
prefix = virtual/
separator = /
}
passdb {
args = scheme=SSHA512 username_format=%u /etc/dovecot/users
driver = passwd-file
}
passdb {
driver = pam
}
protocols = " imap"
service imap-login {
inet_listener imap {
port = 0
}
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = username_format=%u /etc/dovecot/users
driver = passwd-file
}
userdb {
driver = passwd
}