[Postfixbuch-users] Dovecot-Frage: Shared Mailboxes der User

Andre Tann atann at alphasrv.net
Sa Dez 3 17:38:30 CET 2011


Peer Heinlein, Samstag, 3. Dezember 2011: 

> Vermutlich, weil er es nicht KANN. Und damit hast Du auch die Ursache
> Deines Problems gefunden :-)

Tja, leider jein. Also als erstes mal ist hier [1] die Konfiguration.

Ich habe folgendes festgestellt:

Liegt die Datenbank in /srv/imap/shared-mailboxes, dann beschwert sich
Dovecot NIE darüber, ob er sie beschreiben kann oder nicht. Egal ob ich
sie chown root.root und chmod 000 setze, oder chmod 666, oder irgendwas
anderes, Dovecot verliert überhaupt gar kein Wort über die Datei. Er
schreibt nix rein, meckert nicht drüber, daß er es nicht kann. Es
passiert einfach nichts.

Lege ich sie dagegen in /var/lib/dovecot/shared-mailboxes, dann beschwert
sich dovecot, wenn er nicht reinschreiben kann. Das sieht dann so aus:

dovecot: IMAP(atann): open(/var/lib/dovecot/shared-mailboxes)
failed: Permission denied

Setze ich die Rechte dann testweise maximal, dann beschwert sich Dovecot
nicht mehr, und schreibt auch rein. Lege ich sie wieder nach /srv/imap,
dann passiert wieder nichts mehr. Dovecot meckert nicht in den Logs,
und schreibt auch nicht in die shared-mailboxes-Datei rein.

Seehr dubios. Ich hab jetzt kein Problem damit, das Ding unter
/v/l/dovecot liegen zu lassen. Aber verstehen würd ich das schon gern.
Will dovecot das unbedingt in seinem home haben oder wie? Kann auch
nicht sein:

# getent passwd dovecot
dovecot:x:103:105:User for Dovecot imapd:/var/run/dovecot:/bin/false


Kann es vielleicht sein, daß dovecot immer nur sehr verzögert in diese
Datei schreibt, und daß ich den Schreibvorgang unterhalb von /srv immer
nur nicht abgewartet habe?

Oder teste ich vielleicht falsch? Vielleicht schreibt dovecot nicht bei
jeder Änderung der ACLs, sondern nur bei bestimmten Änderungen?

Kopfkratz…




[1]
# grep -v -E "[[:blank:]]*#|^[[:blank:]]?$" /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s 
disable_plaintext_auth = no
shutdown_clients = no
ssl = yes
ssl_cert_file = /etc/postfix/CA/cert.pem
ssl_key_file = /etc/postfix/CA/key.pem
login_process_per_connection = yes
login_processes_count = 5
login_max_processes_count = 256
login_greeting = dovecot mail service ready. 
mail_location = maildir:~/Maildir
namespace private {
  separator = /
  prefix =
  inbox = yes
}
namespace shared {
  separator = /
  prefix = Shared/%%u/
  location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
  subscriptions = no
  list = yes 
}
mail_debug = no
first_valid_uid = 1000
protocol imap {
mail_max_userip_connections = 1000
  mail_plugins = acl imap_acl
  mail_plugin_dir = /usr/lib64/dovecot/modules/imap
}
  
protocol pop3 {
  mail_plugin_dir = /usr/lib/dovecot/modules/pop3
}
protocol managesieve {
}
protocol lda {
  postmaster_address = postmaster at example.com
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
  auth_socket_path = /var/run/dovecot/auth-master
}
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth default {
  mechanisms = plain login
  passdb pam {
  }
  userdb passwd {
  }
  user = root
socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = mailuser
      group = mailuser
    }
client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
dict {
}
plugin {
  acl = vfile
  acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
}


-- 
Andre Tann




Mehr Informationen über die Mailingliste Postfixbuch-users