[Dovecot] dovecot-pgsql.conf can't find in chroot? (debian)
Matthew J. Harmon
mjh at itys.net
Sat Mar 5 06:27:20 EET 2005
Plagued with an error I can't get past:
==> dovecot_info.log <==
dovecot: Mar 04 22:09:06 Info: Dovecot starting up
==> dovecot.log <==
dovecot-auth: Mar 04 22:09:07 Fatal: Can't open configuration file
/usr/local/etc/dovecot-pgsql.conf: No such file or directory
dovecot: Mar 04 22:09:07 Error: child 18211 (auth) returned error 89
dovecot: Mar 04 22:09:07 Error: Auth process died too early - shutting
down
pop3-login: Mar 04 22:09:07 Fatal: fd_send(-1) failed: Broken pipe
I have dovecot (+ssl) configured on debian in a chroot with
postfix+pgsql+sasl.
The file exists, and permissions look good:
root at alfa:~# ls -la /usr/local/etc/dovecot-pgsql.conf
lrwxrwxrwx 1 root dovecot 31 2005-03-04 20:35
/usr/local/etc/dovecot-pgsql.conf -> /etc/dovecot/dovecot-pgsql.conf
root at alfa:~# ls -la /etc/dovecot/dovecot-pgsql.conf
-rw-r--r-- 1 root dovecot 2875 2005-03-01 23:38
/etc/dovecot/dovecot-pgsql.conf
But... dovecot-auth can't see it? That's weird...
root at alfa:~# strace -vffF /etc/init.d/dovecot start 1>& ~/dovecot.strace
root at alfa:~# less ~/dovecot.strace
[...] :/chroot
[...] :/dovecot-pgsql.conf
[pid 18211] open("/var/log/dovecot_info.log",
O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666 <u
nfinished ...>
[pid 18213] fcntl64(5, F_SETFD, FD_CLOEXEC <unfinished ...>
[pid 18211] <... open resumed> ) = 5
[pid 18213] <... fcntl64 resumed> ) = 0
[pid 18211] fstat64(5, <unfinished ...>
[pid 18209] <... fcntl64 resumed> ) = 0
[pid 18211] <... fstat64 resumed> {st_dev=makedev(22, 1), st_ino=917830,
st_mode=S_IFREG|060
0, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16,
st_size=4264, st_atime=200
5/03/04-22:09:07, st_mtime=2005/03/04-22:09:06,
st_ctime=2005/03/04-22:09:06}) = 0
[pid 18211] old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0
x40019000
[pid 18211] fstat64(5, {st_dev=makedev(22, 1), st_ino=917830,
st_mode=S_IFREG|0600, st_nlink
=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16, st_size=4264,
st_atime=2005/03/04-22:
09:07, st_mtime=2005/03/04-22:09:06, st_ctime=2005/03/04-22:09:06}) = 0
[pid 18211] _llseek(5, 4264, [4264], SEEK_SET) = 0
[pid 18211] fcntl64(5, F_GETFD) = 0
[pid 18211] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
[pid 18211] open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 6
[pid 18211] fcntl64(6, F_GETFD) = 0
[pid 18211] fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
[pid 18211] open("/etc/localtime", O_RDONLY) = 7
[pid 18211] fstat64(7, {st_dev=makedev(22, 1), st_ino=6193169,
st_mode=S_IFREG|0644, st_nlin
k=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=1279,
st_atime=2005/03/04-22:
09:07, st_mtime=2004/12/26-20:19:40, st_ctime=2005/02/09-03:35:52}) = 0
[pid 18211] old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0
x4001a000
[pid 18211] read(7,
"TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0"..., 4096) = 127
9
[pid 18211] close(7) = 0
[pid 18211] munmap(0x4001a000, 4096) = 0
** chrooting dovecot-auth
[pid 18211] chroot("/var/run/dovecot-auth") = 0
[pid 18211] chdir("/") = 0
[pid 18211] gettimeofday({1109995747, 798541}, {360, 0}) = 0
[pid 18211] rt_sigaction(SIGHUP, {0x404a07a0, [], SA_RESTORER,
0x4027e678}, NULL, 8) = 0
[pid 18211] rt_sigaction(SIGINT, {0x404a07a0, [INT],
SA_RESTORER|SA_RESTART, 0x4027e678}, {SIG_DFL}, 8) = 0
[pid 18211] rt_sigaction(SIGTERM, {0x404a07a0, [TERM],
SA_RESTORER|SA_RESTART, 0x4027e678},
{SIG_DFL}, 8) = 0
[pid 18211] rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
*** lets look at dovecot-pgsql.conf!
[pid 18211] open("/usr/local/etc/dovecot-pgsql.conf",
O_RDONLY|O_LARGEFILE) = -1 ENOENT (No
such file or directory)
[pid 18211] time(NULL) = 1109995747
[pid 18211] write(4, "dovecot-auth: Mar 04 22:09:07 Fa"..., 128) = 128
[pid 18211] munmap(0x40018000, 4096) = 0
[pid 18211] exit_group(89) = ?
Process 18211 detached
Excerpts from /etc/dovecot/dovecot.conf:
auth_userdb = pgsql /usr/local/etc/dovecot-pgsql.conf
auth_passdb = pgsql /usr/local/etc/dovecot-pgsql.conf
login_chroot = yes
valid_chroot_dirs = /usr/local/etc:/etc:/var/mail:/lib
auth_chroot = /var/run/dovecot-auth
Any recommended next steps?
Thanks a million!
-Matthew
More information about the dovecot
mailing list