[Postfixbuch-users] OT: dovecot shared mailboxes permission problem

Leo Unglaub leo.unglaub at gmail.com
Do Mär 18 10:14:05 CET 2010


Hallo Leute,
ich habe folgendes Problem mit meinem Dovecot. Der normale Zugriff und 
Betrieb funktioniert wunderbar. Postfix und Dovecot arbeiten super 
zusammen. Nun musste ich auf Wunsch meines Chefs ein Mailbox sharing 
aktivieren dass jeder Mitarbeiter aus der Domain in !! alle !! anderen 
Mailboxen (der gleichen Domain, aber gibt auf dem Server aktuell nur 
eine) am Server schauen kann. (Ich weiß, ist rechtlich ein kleines 
Problem und auch Sicherheitstechnisch nicht optimal, aber das sind 
meistens Projektmailboxen in die Mails verschoben werden)

Daher habe ich in Dovecot 2 Namespaces aktiviert und eingerichtet. 
(Output siehe unten) Dann habe ich die ACL's per IMAP ACL Command neu 
gesetzt sodass die shared-mailboxes.db geschrieben wurde.
Wenn ich mich als User in meine normale Mailbox einlogge bekomme ich 
folgendes zu sehen im Log:
> 2010-03-18 09:52:28 dovecot: Info: Dovecot v1.2.11 starting up (core 
> dumps disabled)
> 2010-03-18 09:52:40 imap-login: Info: Login: user=<unglaub>, 
> method=PLAIN, rip=192.168.1.11, lip=192.168.1.235
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Loading modules from 
> directory: /usr/lib/dovecot/modules/imap
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Module loaded: 
> /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Module loaded: 
> /usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Effective uid=501, gid=501, 
> home=(none)
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Namespace: type=private, 
> prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes
> 2010-03-18 09:52:40 IMAP(unglaub): Info: maildir: 
> data=/var/mail/e-c-o.at/unglaub
> 2010-03-18 09:52:40 IMAP(unglaub): Info: maildir++: 
> root=/var/mail/e-c-o.at/unglaub, index=, control=, 
> inbox=/var/mail/e-c-o.at/unglaub
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl: initializing backend 
> with data: vfile:/etc/dovecot-acl
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl: acl username = unglaub
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl: owner = 1
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl vfile: Global ACL 
> directory: /etc/dovecot-acl
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Namespace: type=shared, 
> prefix=shared/mitarbeiter/%u/, sep=/, inbox=no, hidden=no, 
> list=children, subscriptions=no
> 2010-03-18 09:52:40 IMAP(unglaub): Info: shared: root=, index=, 
> control=, inbox=
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl vfile: reading file 
> /etc/dovecot-acl/INBOX
> 2010-03-18 09:52:40 IMAP(unglaub): Info: acl vfile: reading file 
> /var/mail/e-c-o.at/unglaub/dovecot-acl
> 2010-03-18 09:52:40 IMAP(unglaub): Info: Namespace : Using permissions 
> from /var/mail/e-c-o.at/unglaub: mode=0700 gid=-1
In diesem BSP habe ich 2 User eingerichtet (LDAP auth) unglaub und 
kirchmeir. Wenn ich als User unglaub nun die Mailboxen abbonieren will 
und im Thunderbird das abbonierne Fenster wähle bekomme ich folgendes im 
Log:
> 2010-03-18 10:03:04 IMAP(unglaub): Info: maildir: 
> data=/var/mails/e-c-o.at/kirchmeir:INDEX=/var/mails/e-c-o.at/shared/mitarbeiter/kirchmeir
> 2010-03-18 10:03:04 IMAP(unglaub): Info: maildir++: 
> root=/var/mails/e-c-o.at/kirchmeir, 
> index=/var/mails/e-c-o.at/shared/mitarbeiter/kirchmeir, control=, 
> inbox=/var/mails/e-c-o.at/kirchmeir
> 2010-03-18 10:03:04 IMAP(unglaub): Info: acl: initializing backend 
> with data: vfile:/etc/dovecot-acl
> 2010-03-18 10:03:04 IMAP(unglaub): Info: acl: acl username = unglaub
> 2010-03-18 10:03:04 IMAP(unglaub): Info: acl: owner = 0
> 2010-03-18 10:03:04 IMAP(unglaub): Info: acl vfile: Global ACL 
> directory: /etc/dovecot-acl
> 2010-03-18 10:03:04 IMAP(unglaub): Info: acl vfile: file 
> /etc/dovecot-acl//.DEFAULT not found
> 2010-03-18 10:03:04 IMAP(unglaub): Info: Namespace 
> shared/mitarbeiter/kirchmeir/: Permission lookup failed from 
> /var/mails/e-c-o.at/kirchmeir
> 2010-03-18 10:03:04 IMAP(unglaub): Info: Namespace 
> shared/mitarbeiter/kirchmeir/: Using permissions from 
> /var/mails/e-c-o.at/kirchmeir: mode=0700 gid=-1
> 2010-03-18 10:03:04 IMAP(unglaub): Error: 
> mkdir_parents(/var/mails/e-c-o.at/kirchmeir) failed: Permission denied
Meine Dovecot.conf sieht so aus:

> # 1.2.11: /etc/dovecot/dovecot.conf
> # OS: Linux 2.6.30-bpo.1-amd64 x86_64 Debian 5.0.4 ext3
> log_path: /var/log/dovecot/dovecot.log
> log_timestamp: %Y-%m-%d %H:%M:%S
> disable_plaintext_auth: no
> login_dir: /var/run/dovecot/login
> login_executable: /usr/lib/dovecot/imap-login
> mail_privileged_group: mail
> mail_uid: 501
> mail_gid: 501
> mail_location: maildir:/var/mail/%d/%n
> mail_debug: yes
> maildir_copy_preserve_filename: yes
> mbox_write_locks: fcntl dotlock
> mail_plugins: acl imap_acl
> namespace:
>   type: private
>   separator: /
>   inbox: yes
>   list: yes
>   subscriptions: yes
> namespace:
>   type: shared
>   separator: /
>   prefix: shared/mitarbeiter/%%u/
>   location: 
> maildir:/var/mails/e-c-o.at/%%u:INDEX=/var/mails/e-c-o.at/shared/mitarbeiter/%%u
>   list: children
> lda:
>   postmaster_address: postmaster at e-c-o.at
>   mail_plugins: acl
>   auth_socket_path: /var/run/dovecot/auth-master
>   log_path: /var/log/dovecot/dovecot-deliver-errors.log
>   info_log_path: /var/log/dovecot/dovecot-deliver.log
> auth default:
>   default_realm: e-c-o.at
>   passdb:
>     driver: ldap
>     args: /etc/dovecot/dovecot-ldap.conf
>   userdb:
>     driver: ldap
>     args: /etc/dovecot/dovecot-ldap.conf
>   socket:
>     type: listen
>     client:
>       path: /var/spool/postfix/private/auth
>       mode: 432
>       user: postfix
>       group: postfix
>     master:
>       path: /var/run/dovecot/auth-master
>       mode: 384
>       user: dovecot-data
>       group: dovecot-data
> plugin:
>   acl: vfile:/etc/dovecot-acl
>   acl_shared_dict: file:/var/mail/%d/shared-mailboxes.db
Weiß jemand von euch warum Dovecot das so macht und was ich hier falsch 
konfiguriert habe? Kann es mit dem LDAP zusammenhängen? Obwohl der Login 
über LDAP wunderbar funktioniert. Komisch ist auch, dass beim Parameter 
acl_shared_dict: file:/var/mail/%d/shared-mailboxes.db das %d nicht 
ersetzt wird, sondern dasFile schlussentlich unter 
/var/mail/shared-mailboxes.db liegt. Kann dieses nicht parsen der 
Platzhalter auch zu dem Problem führen dass Dovecot nicht in die 
richtigen Mailfolder "schauen" kann?

Vielen Dank im Vorraus und viele Grüße
Leo





Mehr Informationen über die Mailingliste Postfixbuch-users