<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hallo zusammen,</div><div class=""><br class=""></div><div class="">ich betreibe eine dovecot virtual mail Umgebung und wollte jetzt für einige User Shared Mailbox ACL konfigurieren.</div><div class=""><br class=""></div><div class="">In Anlehnung an das Tutorial <a href="https://vogasec.wordpress.com/2012/07/01/ubuntu-postfix-dovecot-shared-mailboxes/" class="">https://vogasec.wordpress.com/2012/07/01/ubuntu-postfix-dovecot-shared-mailboxes/</a></div><div class="">habe ich den MySQL Server konfiguriert und dovecot wie unten angehängt. </div><div class=""><br class=""></div><div class="">Wenn ich jetzt "<span style="font-family: Menlo; font-size: 11px;" class="">doveadm -Dv mailbox list -u user@domain abfragen möchte, bekomme ich im syslog folgende Fehlermeldung:</span></div><div class=""><span style="font-family: Menlo; font-size: 11px;" class=""><br class=""></span></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><span class="Apple-tab-span" style="white-space:pre">   </span>mta dovecot: message repeated 2 times: [ dict: Error: Failed to initialize dictionary 'acl': Unknown dict module: mysql]</div></div><div class=""><br class=""></div><div class="">Die SQL Config habe ich auch angehängt. Wer weiss Rat?</div><div class=""><br class=""></div><div class="">Vorab schon einmal vielen Dank für eure Unterstützung und viele Grüße,</div><div class=""><br class=""></div><div class="">Klaus Lenssen</div><div class=""><br class=""></div><div class="">-----------------------</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""># 2.2.18: /etc/dovecot/dovecot.conf</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""># Pigeonhole version 0.4.8 (0c4ae064f307+)</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""># OS: Linux 4.2.0-14-generic x86_64 Ubuntu Wily Werewolf (development branch) </div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">auth_debug = yes</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">auth_mechanisms = plain login</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">auth_verbose = yes</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">dict {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">log_timestamp = "%Y-%m-%d %H:%M:%S "</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">mail_debug = yes</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">mail_location = maildir:~/Maildir</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">mail_plugins = acl</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">namespace {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  hidden = no</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  ignore_on_failure = no</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  inbox = no</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  list = children</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  prefix = shared/%%u/</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  separator = /</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  subscriptions = yes</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  type = shared</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">namespace inbox {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  inbox = yes</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  location = </div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mailbox Drafts {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    special_use = \Drafts</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mailbox Junk {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    special_use = \Junk</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mailbox Sent {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    special_use = \Sent</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mailbox "Sent Messages" {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    special_use = \Sent</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mailbox Trash {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    special_use = \Trash</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  prefix = </div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  separator = /</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  type = private</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">passdb {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  args = /etc/dovecot/dovecot-ldap.conf.ext</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  driver = ldap</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">plugin {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  acl = vfile:/etc/dovecot/global-acls:cache_secs=300</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  acl_shared_dict = proxy::acl</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">postmaster_address = <a href="mailto:postmaster@cns-germany.de" class="">postmaster@cns-germany.de</a></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">protocols = " imap"</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">service auth {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  unix_listener /var/spool/postfix/private/auth {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    group = postfix</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    mode = 0660</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    user = postfix</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">service dict {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  unix_listener dict {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    group = mail</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    mode = 0660</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">    user = dovecot</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">ssl_cert = </etc/dovecot/imap.cns-germany.de.cert</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">ssl_key = </etc/dovecot/private/imap.cns-germany.de.key</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">userdb {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  args = uid=vmail gid=mail home=/home/vmail/%d/%n</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  driver = static</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">protocol imap {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  mail_plugins = acl imap_acl</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">}</div></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">———————  /etc/dovecot/dovecot-dict-sql.conf.ext  —————</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><div style="margin: 0px; color: rgb(83, 48, 225);" class=""># This file is commonly accessed via dict {} section in dovecot.conf</div><div style="margin: 0px; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px;" class="">driver = mysql</div><div style="margin: 0px;" class="">connect = host=192.168.1.10 dbname=dovecot user=dovecot  password=********</div><div style="margin: 0px; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; color: rgb(83, 48, 225);" class=""># CREATE TABLE quota (</div><div style="margin: 0px; color: rgb(83, 48, 225);" class="">[…]</div><div style="margin: 0px; color: rgb(83, 48, 225);" class=""><div style="margin: 0px;" class="">#CREATE TABLE user_shares (</div><div style="margin: 0px;" class=""># from_user varchar(100) not null,</div><div style="margin: 0px;" class=""># to_user varchar(100) not null,</div><div style="margin: 0px;" class=""># dummy char(1) DEFAULT '1',    -- always '1' currently</div><div style="margin: 0px;" class=""># primary key (from_user, to_user)</div><div style="margin: 0px;" class="">#);</div><div style="margin: 0px;" class=""># </div><div style="margin: 0px;" class="">#CREATE TABLE anyone_shares (</div><div style="margin: 0px;" class=""># from_user varchar(100) not null,</div><div style="margin: 0px;" class=""># dummy char(1) DEFAULT '1',    -- always '1' currently</div><div style="margin: 0px;" class=""># primary key (from_user)</div><div style="margin: 0px;" class="">#);</div><div style="margin: 0px;" class="">map {</div><div style="margin: 0px;" class="">  pattern = shared/shared-boxes/user/$to/$from</div><div style="margin: 0px;" class="">  table = user_shares</div><div style="margin: 0px;" class="">  value_field = dummy</div><div style="margin: 0px; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px;" class="">  fields {</div><div style="margin: 0px;" class="">    from_user = $from</div><div style="margin: 0px;" class="">    to_user = $to</div><div style="margin: 0px;" class="">  }</div><div style="margin: 0px;" class="">}</div><div style="margin: 0px; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px;" class="">map {</div><div style="margin: 0px;" class="">  pattern = shared/shared-boxes/anyone/$from</div><div style="margin: 0px;" class="">  table = anyone_shares</div><div style="margin: 0px;" class="">  value_field = dummy</div><div style="margin: 0px; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px;" class="">  fields {</div><div style="margin: 0px;" class="">    from_user = $from</div><div style="margin: 0px;" class="">  }</div><div style="margin: 0px;" class="">}</div><div class=""><br class=""></div></div><div class=""><br class=""></div></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><br class=""></div></body></html>