[Dovecot] Dovecot fails to come up when using ACLs (1.0.b5)
Jeff Turner
jeff at atlassian.com
Fri Aug 4 14:03:34 EEST 2006
Hi,
I just had a go at enabling ACLs with 1.0b5. As per the docs I've done the configuration bit:
protocol imap {
..
mail_plugins = acl
}
...
plugin {
acl = vfile:/usr/local/etc/dovecot-acls
}
and created the dovecot-acls file. When I start dovecot, it hangs for a few
seconds and dies with this:
[root at redback root]# /etc/init.d/dovecot restart
Shutting down IMAP daemon (/usr/local/sbin/dovecot1.0rc5): [ OK ]
Starting IMAP daemon (/usr/local/sbin/dovecot1.0rc5): IEffective uid=65534, gid=65534
INamespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, subscriptions=no
Imaildir: data=/imap/mailboxes/dump-capability
Imaildir: root=/imap/mailboxes/dump-capability, index=/imap/mailboxes/dump-capability, control=, inbox=
INamespace: type=public, prefix=JiraSupport/, sep=/, inbox=no, hidden=no, subscriptions=no
Imaildir: data=/imap/mailboxes/jira-support:CONTROL=/imap/mailboxes/dump-capability/shared-settings/jira-support/control:INDEX=/imap/mailboxes/dump-capability/shared-settings/jira-support/index
Imaildir: root=/imap/mailboxes/jira-support, index=/imap/mailboxes/dump-capability/shared-settings/jira-support/index, control=/imap/mailboxes/dump-capability/shared-settings/jira-support/control, inbox=
Elstat(/imap/mailboxes/jira-support/cur) failed: Permission denied
[FAILED]
there's a strange dump-capability mailbox created:
[root at redback root]# ls -la /imap/mailboxes/dump-capability/
total 20
drwxrwx--- 5 nfsnobody nfsnobody 4096 Aug 4 19:59 .
drwxr-xrwx 28 root mail 4096 Aug 4 19:59 ..
drwxrwx--- 2 nfsnobody nfsnobody 4096 Aug 4 19:59 cur
drwxrwx--- 2 nfsnobody nfsnobody 4096 Aug 4 19:59 new
drwxrwx--- 2 nfsnobody nfsnobody 4096 Aug 4 19:59 tmp
[root at redback root]#
First I tried making /imap/mailboxes/jira-support/* world-readable, which fixes
the 'Permisison denied' error. Dovecot still fails to come up. When I strace
the process on startup, this is what it looks like:
......
open("/etc/passwd", O_RDONLY) = 3
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3091, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 3091
close(3) = 0
munmap(0x40016000, 4096) = 0
access("/usr/local/libexec/dovecot/imap", X_OK) = 0
access("/usr/local/lib/dovecot/imap", R_OK|X_OK) = 0
geteuid32() = 0
pipe([3, 4]) = 0
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fcntl64(4, F_GETFD) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
dup(2) = 5
fcntl64(5, F_GETFD) = 0
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
fork() = 16282
close(5) = 0
close(4) = 0
alarm(5) = 0
wait4(-1, IEffective uid=65534, gid=65534
INamespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, subscriptions=no
Imaildir: data=/imap/mailboxes/dump-capability
Imaildir: root=/imap/mailboxes/dump-capability, index=/imap/mailboxes/dump-capability, control=, inbox=
INamespace: type=public, prefix=JiraSupport/, sep=/, inbox=no, hidden=no, subscriptions=no
Imaildir: data=/imap/mailboxes/jira-support:CONTROL=/imap/mailboxes/dump-capability/shared-settings/jira-support/control:INDEX=/imap/mailboxes/dump-capability/shared-settings/jira-support/index
Imaildir: root=/imap/mailboxes/jira-support, index=/imap/mailboxes/dump-capability/shared-settings/jira-support/index, control=/imap/mailboxes/dump-capability/shared-settings/jira-support/control, inbox=
0xbfffcb7c, 0, NULL) = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
+++ killed by SIGALRM +++
I tried chmod ugo+r'ing the /imap/dump-capability/ directory tree and it
made no difference.
I've attached my dovecot.conf, stripped of comments.
Cheers,
Jeff
-------------- next part --------------
base_dir = /usr/local/var/run/dovecot/
protocols = imap imaps
disable_plaintext_auth = no
log_path = /usr/local/logs/dovecot
info_log_path = /usr/local/logs/dovecot.info
ssl_cert_file = /usr/local/etc/ssl/certs/imapd.pem
ssl_key_file = /usr/local/etc/ssl/private/imapd.pem
default_mail_env = maildir:/imap/mailboxes/%u
namespace private {
separator = /
prefix =
inbox = yes
}
namespace public {
prefix = JiraSupport/
separator = /
location = maildir:/imap/mailboxes/jira-support:CONTROL=/imap/mailboxes/%u/shared-settings/jira-support/control:INDEX=/imap/mailboxes/%u/shared-settings/jira-support/index
hidden = no
}
mail_debug = yes
verbose_proctitle = yes
umask = 0007
protocol imap {
mail_executable = /usr/local/libexec/dovecot/imap
mail_plugins = acl
mail_plugin_dir = /usr/local/lib/dovecot/imap
}
protocol pop3 {
}
protocol lda {
postmaster_address = postmaster at example.com
}
auth_verbose = yes
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd {
}
user = root
}
dict {
}
plugin {
acl = vfile:/usr/local/etc/dovecot-acls
}
More information about the dovecot
mailing list