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=, alt= Aug 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=, alt= Aug 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 }