I used dovecot without shared folders some time ago. All work fine.
old dovecot config:
|mail_home=/var/mail/%d/%n mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox |mail_plugins = acl |protocol imap { mail_plugins = $mail_plugins } |
All work fine.
Now I want to add shared folder functionality. I am defining namespaces and doing it wrong (maybe)
new dovecot config:
|mail_home=/var/mail/%d/%n mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox |mail_plugins = acl |mail_debug=yes namespace inbox { type = private separator = / prefix = inbox = yes } namespace { type = shared separator = / prefix = shared/%%u/ # wrong #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u:INDEXPVT=~/Maildir/shared/%%u |# wrong again location = maildir:%%h/:INDEX=~/%%u |subscriptions = no list = children } protocol imap { mail_plugins = $mail_plugins imap_acl acl } plugin { acl = vfile acl_shared_dict = file:/var/mail/%d/shared-mailboxes.db } |
I can set access right for shared folder (screenshot - https://ibb.co/ccxQ63wN) but i can not see shared folder in subscriptions (screenshot - https://ibb.co/PRfpD7X)
-- *Anton*
I used dovecot without shared folders some time ago. All work fine. old dovecot config: mail_home=/var/mail/%d/%n mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox mail_plugins = acl
protocol imap { mail_plugins = $mail_plugins } All work fine. Now I want to add shared folder functionality. I am defining namespaces and doing it wrong (maybe) new dovecot config: mail_home=/var/mail/%d/%n mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox mail_plugins = acl mail_debug=yes namespace inbox { type = private separator = / prefix = inbox = yes } namespace { type = shared separator = / prefix = shared/%%u/
# wrong #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u:INDEXPVT=~/ Maildir/shared/%%u # wrong again location = maildir:%%h/:INDEX=~/%%u subscriptions = no list = children }
protocol imap { mail_plugins = $mail_plugins imap_acl acl }
plugin { acl = vfile acl_shared_dict = file:/var/mail/%d/shared-mailboxes.db }
I can set access right for shared folder (screenshot - https://ibb.co/ccxQ63wN) but i can not see shared folder in subscriptions (screenshot - https://ibb.co/ PRfpD7X)
-- Anton
29.03.2025 15:32, Markus Winkler via dovecot пишет:
# 2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.21.1 (49005e73) # OS: Linux 5.10.235-std-def-alt1 x86_64 ALT Server 10.4 (Mendelevium) ext4 # Hostname: sogo-srv.mydomain.zone first_valid_gid = 5 first_valid_uid = 5 mail_debug = yes mail_gid = mail mail_home = /var/mail/%d/%n mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox mail_plugins = acl mail_uid = mail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds imapflags notify mbox_write_locks = fcntl namespace { list = children location = maildir:/var/mail/%d/%n/:INDEX=/var/mail/%d/%n/shared/%%u:INDEXPVT=/var/mail/%d/%n/shared/%%u prefix = shared/%%u/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = separator = / type = private } passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile acl_shared_dict = file:/var/mail/%d/shared-mailboxes.db sieve = file:/var/spool/mail/%Ld/%n/sieve;active=/var/spool/mail/%Ld/%n/active.sieve sieve_extensions = +notify +imapflags +vacation-seconds +vacation +date +relational sieve_user_log = /tmp/sievelog.txt } protocols = imap lmtp submission sieve sieve service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0600 user = postfix } } service imap-login { inet_listener imap { port = 0 } } service pop3-login { inet_listener pop3 { port = 0 } inet_listener pop3s { port = 0 } } service stats { unix_listener stats-reader { group = mail mode = 0660 user = mail } unix_listener stats-writer { group = mail mode = 0660 user = mail } } ssl = required ssl_cert = </var/lib/ssl/certs/dovecot.pem ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = acl acl sieve } protocol lda { hostname = mydomain.zone mail_plugins = acl sieve acl postmaster_address = da-01@mydomain.zone } protocol imap { mail_plugins = acl imap_acl acl }
Hi Anton,
thanks for the configuration details.
Could you please try to change the 'location' parameter of the shared namespace:
On Mon, 31 Mar 2025 at 05:31:31AM -0000, Anton Shevtsov via dovecot wrote:
this way:
location = maildir:%%h/:INDEX=~/shared/%%u:INDEXPVT=~/shared/%%u
and check if this makes any difference?
Regards, Markus
Make changes. But no feel difference :(
[root@sogo-srv conf.d]# doveconf -n
# 2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.21.1 (49005e73)
# OS: Linux 5.10.235-std-def-alt1 x86_64 ALT Server 10.4 (Mendelevium) ext4
# Hostname: sogo-srv.maymail.domain
first_valid_gid = 5
first_valid_uid = 5
mail_debug = yes
mail_gid = mail
mail_home = /var/mail/%d/%n
mail_location = maildir:/var/mail/%d/%n:UTF-8:INBOX=/var/mail/%d/%n/Inbox
mail_plugins = acl
mail_uid = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
index ihave duplicate mime foreverypart extracttext vacation-seconds imapflags notify
mbox_write_locks = fcntl
namespace {
list = children
location = maildir:%%h/:INDEX=~/shared/%%u:INDEXPVT=~/shared/%%u
prefix = shared/%%u/
separator = /
subscriptions = yes
type = shared
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /etc/dovecot/master-users
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = file:/var/mail/%d/shared-mailboxes.db
sieve = file:/var/spool/mail/%Ld/%n/sieve;active=/var/spool/mail/%Ld/%n/active.sieve
sieve_extensions = +notify +imapflags +vacation-seconds +vacation +date +relational
sieve_user_log = /tmp/sievelog.txt
}
protocols = imap lmtp submission sieve sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0600
user = postfix
}
}
service imap-login {
inet_listener imap {
port = 0
}
}
service pop3-login {
inet_listener pop3 {
port = 0
}
inet_listener pop3s {
port = 0
}
}
service stats {
unix_listener stats-reader {
group = mail
mode = 0660
user = mail
}
unix_listener stats-writer {
group = mail
mode = 0660
user = mail
}
}
ssl = required
ssl_cert = </var/lib/ssl/certs/dovecot.pem
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
protocol lmtp {
mail_plugins = acl acl sieve
}
protocol lda {
hostname = test.alt
mail_plugins = acl sieve acl
postmaster_address = da-01@test.alt
}
protocol imap {
mail_plugins = acl imap_acl acl
}
Login domainuser2 Create imap folder "newfolder1", share for domainuser1 with permissions
- View this folder
- Read mails from this folder
- Mark mails read and unread
- Modify the flags of the mails in this folder
- Insert, copy and move mails into this folder
Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap-login: Login: user=<domainuser2@mymail.domain>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=5114, TLS, session=<ZVAK0twxeOd/AAAB> Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Loading modules from directory: /usr/lib64/dovecot/modules Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib01_acl_plugin.so Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib02_imap_acl_plugin.so Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Effective uid=8, gid=12, home=/var/mail/mymail.domain/domainuser2 Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): dict created (uri=file:/var/mail/mymail.domain/shared-mailboxes.db, base_dir=/var/run/dovecot) Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: open(/proc/self/io) failed: Permission denied Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/mail/mymail.domain/domainuser2:UTF-8:INBOX=/var/mail/mymail.domain/domainuser2/Inbox Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: maildir++: root=/var/mail/mymail.domain/domainuser2, index=, indexpvt=, control=, inbox=/var/mail/mymail.domain/domainuser2/Inbox, alt= Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: initializing backend with data: vfile Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: acl username = domainuser2@mymail.domain Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: owner = 1 Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: Global ACLs disabled Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=maildir:%h/:INDEX=~/shared/%u:INDEXPVT=~/shared/%u Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: initializing backend with data: vfile Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: acl username = domainuser2@mymail.domain Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl: owner = 0 Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: Global ACLs disabled Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/Inbox/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.newfolder1/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Mailbox newfolder1: Mailbox opened Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.newfolder1/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: Namespace : Using permissions from /var/mail/mymail.domain/domainuser2: mode=0700 gid=default Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.Trash/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.Trash.sharedfolder/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.Trash.newsharedfolder/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.newfolder1/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.Sent/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.Drafts/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/Inbox/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser2/.Junk/dovecot-acl not found Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.Trash.sharedfolder/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.Trash.newsharedfolder/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: acl vfile: reading file /var/mail/mymail.domain/domainuser2/.newfolder1/dovecot-acl Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Iterating prefix shared/shared-boxes/ Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Iteration finished, got 2 rows Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Starting transaction Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Unsetting 'shared/shared-boxes/user/domainuser1/domainuser2@mymail.domain' Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Dict transaction finished Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Starting transaction Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Setting 'shared/shared-boxes/user/domainuser1/domainuser2@mymail.domain' to '1' Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Dict transaction finished Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Starting transaction Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Unsetting 'shared/shared-boxes/user/domainuser3/domainuser2@mymail.domain' Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Dict transaction finished Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Starting transaction Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Setting 'shared/shared-boxes/user/domainuser3/domainuser2@mymail.domain' to '1' Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): Dict transaction finished Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Disconnected: Logged out in=160 out=1342 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0 Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: User session is finished Apr 03 14:59:06 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser2@mymail.domain)<5114><ZVAK0twxeOd/AAAB>: Debug: dict(file): dict destroyed
login as domainuser1 and try to subscribe but can't see shared folder (domainuser2/newfolder1)
апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap-login: Login: user=<domainuser1@mymail.domain>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=5244, TLS, session=<nD3a3dwxqrt/AAAB> апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Loading modules from directory: /usr/lib64/dovecot/modules апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib01_acl_plugin.so апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib02_imap_acl_plugin.so апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Effective uid=8, gid=12, home=/var/mail/mymail.domain/domainuser1 апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): dict created (uri=file:/var/mail/mymail.domain/shared-mailboxes.db, base_dir=/var/run/dovecot) апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: open(/proc/self/io) failed: Permission denied апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/mail/mymail.domain/domainuser1:UTF-8:INBOX=/var/mail/mymail.domain/domainuser1/Inbox апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: maildir++: root=/var/mail/mymail.domain/domainuser1, index=, indexpvt=, control=, inbox=/var/mail/mymail.domain/domainuser1/Inbox, alt= апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: initializing backend with data: vfile апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: acl username = domainuser1@mymail.domain апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: owner = 1 апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: Global ACLs disabled апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=maildir:%h/:INDEX=~/shared/%u:INDEXPVT=~/shared/%u апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: initializing backend with data: vfile апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: acl username = domainuser1@mymail.domain апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl: owner = 0 апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: Global ACLs disabled апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Drafts/dovecot-acl not found апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Junk/dovecot-acl not found апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Trash/dovecot-acl not found апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Sent/dovecot-acl not found апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): Iterating prefix shared/shared-boxes/anyone/ апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): Iteration finished, got 0 rows апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): Iterating prefix shared/shared-boxes/user/domainuser1@mymail.domain/ апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): Iteration finished, got 0 rows апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Disconnected: Logged out in=129 out=1457 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0 апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: User session is finished апр 03 15:02:24 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5244><nD3a3dwxqrt/AAAB>: Debug: dict(file): dict destroyed апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap-login: Login: user=<domainuser1@mymail.domain>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=5246, TLS, session=<onYB3twxsLt/AAAB> апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Loading modules from directory: /usr/lib64/dovecot/modules апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib01_acl_plugin.so апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Module loaded: /usr/lib64/dovecot/modules/lib02_imap_acl_plugin.so апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Effective uid=8, gid=12, home=/var/mail/mymail.domain/domainuser1 апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): dict created (uri=file:/var/mail/mymail.domain/shared-mailboxes.db, base_dir=/var/run/dovecot) апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: open(/proc/self/io) failed: Permission denied апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/mail/mymail.domain/domainuser1:UTF-8:INBOX=/var/mail/mymail.domain/domainuser1/Inbox апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: maildir++: root=/var/mail/mymail.domain/domainuser1, index=, indexpvt=, control=, inbox=/var/mail/mymail.domain/domainuser1/Inbox, alt= апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: initializing backend with data: vfile апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: acl username = domainuser1@mymail.domain апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: owner = 1 апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: Global ACLs disabled апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=maildir:%h/:INDEX=~/shared/%u:INDEXPVT=~/shared/%u апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: initializing backend with data: vfile апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: acl username = domainuser1@mymail.domain апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl: owner = 0 апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: Global ACLs disabled апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Drafts/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Junk/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Trash/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.Sent/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): Iterating prefix shared/shared-boxes/anyone/ апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): Iteration finished, got 0 rows апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): Iterating prefix shared/shared-boxes/user/domainuser1@mymail.domain/ апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): Iteration finished, got 0 rows апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/Inbox/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.dovecot/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.dovecot.lda-dupes/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.dovecot.lda-dupes.locks/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: acl vfile: file /var/mail/mymail.domain/domainuser1/.INBOX.Архив за 2021 год/dovecot-acl not found апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: Namespace shared/: Using permissions from : mode=0700 gid=default апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Disconnected: Logged out in=144 out=1989 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0 апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: User session is finished апр 03 15:02:27 sogo-srv.mymail.domain dovecot[4779]: imap(domainuser1@mymail.domain)<5246><onYB3twxsLt/AAAB>: Debug: dict(file): dict destroyed
Hi Anton,
On Thu, 03 Apr 2025 at 11:31:14AM -0000, Anton Shevtsov via dovecot wrote:
Make changes. But no feel difference :(
thanks for changing, testing and the additional information.
In your config I'm missing a line like this:
auth_socket_path = /var/run/dovecot/auth-userdb
Please have a look at your 10-master.conf if it contains something like:
service auth { [...] unix_listener auth-userdb { #mode = 0666 user = mail group = mail }
If not, please enable this additional auth socket.
And just to be sure: could you please provide an 'ls -l' of this file:
/var/mail/%d/shared-mailboxes.db
If it exists at all: does it already have any content or is it empty?
Regards, Markus
No success yet.
Before (10-mail.conf)
unix_listener auth-userdb { #mode = 0666 #user = #group = }
After
# grep ^auth_socket_path 10-mail.conf auth_socket_path = /var/run/dovecot/auth-userdb
# grep -A 5 'unix_listener auth-userdb' 10-master.conf unix_listener auth-userdb { #mode = 0666 user = mail group = mail }
shared-mailboxes.db is present
# ll /var/mail/mymail.domain/shared-mailboxes.db -rw-rw---- 1 mail mail 120 apr 4 17:12 /var/mail/mymail.domain/shared-mailboxes.db
If I delete the file /var/mail/mymail.domain/shared-mailboxes.db, it will still be created
# cat /var/mail/mymail.domain/shared-mailboxes.db shared/shared-boxes/user/domainuser1/apr07@mymail.domain 1 shared/shared-boxes/user/domainuser1/domainuser2@mymail.domain 1
(domainuser2 share "newfolder1" for domainuser1. And apr07 share "sharefolder" for domainuser1)
# ll /var/mail/mymail.domain/apr07/dovecot-acl-list -rw------- 1 mail mail 23 apr 7 17:11 /var/mail/mymail.domain/apr07/dovecot-acl-list
# cat /var/mail/mymail.domain/apr07/dovecot-acl-list 1744027894 sharefolder
# cat /var/mail/mymail.domain/domainuser2/dovecot-acl-list 1744027957 newfolder1
# ll /var/mail/mymail.domain/domainuser2/ | grep newfolder1 drwx--S--- 5 mail mail 4096 apr 7 17:12 .newfolder1/
# ll /var/mail/mymail.domain/apr07/ | grep sharefolder drwx--S--- 5 mail mail 4096 apr 7 17:11 .sharefolder/
participants (3)
-
Anton Shevtsov
-
Markus Winkler
-
shevtsovay@basealt.ru