Hello Timo,
Tuesday, August 24, 2004, 8:21:06 PM, you wrote:
On Tue, 2004-08-24 at 19:52 +0400, Igor B. Bykhalo wrote:
8103 getsockname(9, {sa_family=AF_UNIX, path="/var/run/dovecot/login/def0ыїїф "}, [28]) = 0 ^^^^^^^^^^^^^^^^^ Oops! What's this?
I wondered about the same thing some time ago. I'm not really sure why it looks like that. Maybe I should look into it.
Anyway, the fix for your problem is to not use wheel group as the primary group for your user in /etc/passwd, rather move the user to wheel group in /etc/group and use some other primary group.
Thank you very much, that worked indeed.
There should have been different error message for this, but I'm not sure why it doesn't work. I should look into that too :)
Also setting first_valid_gid=0 should work around this, but that doesn't currently work either.
Thanks, Igor B. Bykhalo
P.S. I also wrote earlier:
I also straced dovecot process, but it showed no visible (to me) errors.
Well, this was untrue - here is output of strace -fF -p
8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 99) = 0 8102 gettimeofday({1093360394, 200640}, {0, 0}) = 0 8102 gettimeofday({1093360394, 200723}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360394, 200884}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360394, 201037}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 [... All the same ...] 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360417, 941767}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 99) = 1 8102 gettimeofday({1093360418, 1340}, {0, 0}) = 0 8102 recvmsg(14, {msg_name(0)=NULL, msg_iov(1)=[{"\6\0\0\0\247\37\0\0\1\0\0\0\2\0\277\277\301\351,\352\244"..., 32}], msg_controllen=16, msg_control=0xbfbffa84, , msg_flags=0}, 0) = 32 8102 fcntl(19, F_GETFD) = 0 8102 fcntl(19, F_SETFD, FD_CLOEXEC) = 0 8102 write(12, "\7\0\0\0\1\0\0\0\334\37\0\0", 12) = 12 8102 gettimeofday({1093360418, 1817}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 39) = 1 8102 gettimeofday({1093360418, 1974}, {0, 0}) = 0 8102 read(12, "\7\0\0\0\1\0\0\0\351\3\0\0\0\0\0\0\0\0\0\0\7\0\0\0\16\0"..., 3693) = 67 8102 fork() = 12406 8102 write(14, "\6\0\0\0\1\0\0\0", 8) = 8 12406 exit(89) = ? 8102 --- SIGCHLD (Child exited) --- 8102 close(19) = 0 8102 gettimeofday({1093360418, 15478}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 25) = 1 8102 gettimeofday({1093360418, 15713}, {0, 0}) = 0 8102 recvmsg(14, {msg_name(0)=NULL, msg_iov(1)=[{"$\374\277\277c\335\4\10\300\320\5\10\34\374\277\277h>\0"..., 32}], msg_controllen=0, msg_flags=0}, 0) = 0 8102 close(14) = 0 8102 gettimeofday({1093360418, 16101}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 24) = 0 8102 gettimeofday({1093360418, 51423}, {0, 0}) = 0 8102 gettimeofday({1093360418, 51539}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 0) = 0 8102 gettimeofday({1093360418, 51765}, {0, 0}) = 0 8102 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 89], WNOHANG, NULL) = 12406 8102 gettimeofday({1093360418, 52014}, NULL) = 0 8102 sendto(9, "<19>Aug 24 19:13:38 dovecot: chi"..., 65, 0, NULL, 0) = 65 8102 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL) = 8156 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360418, 52532}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 98) = 0 8102 gettimeofday({1093360418, 161419}, {0, 0}) = 0 8102 gettimeofday({1093360418, 161535}, NULL) = 0 [... All the same ...] 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 0) = 0 8102 gettimeofday({1093360418, 821782}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 socketpair(PF_UNIX, SOCK_STREAM, 0, [0, 134631744]) = 0 8102 fork() = 12409 8102 fcntl(14, F_GETFL) = 0x2 (flags O_RDWR) 12409 getdirentries(6,
8102 fcntl(14, F_SETFL, O_RDWR|O_NONBLOCK 12409 <... getdirentries resumed> /* 0 entries */, 4096, [512]) = 0 8102 <... fcntl resumed> ) = 0 12409 lseek(6, 0, SEEK_SET 8102 fcntl(14, F_GETFD AF_??? */, sa_data="!(\260\321\6\10\1\0\0\0\0\372\277\277"}, [0]) = 0 12409 sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32}], msg_controllen=0, msg_flags=0}, 012409 <... lseek resumed> ) = 0 8102 <... fcntl resumed> ) = 0 12409 close(6 8102 fcntl(14, F_SETFD, FD_CLOEXEC 12409 <... close resumed> ) = 0 8102 <... fcntl resumed> ) = 0 12409 getsockname(0, 8102 lseek(14, 0, SEEK_CUR 12409 <... getsockname resumed> {sa_family=AF_INET, sin_port=htons(143), sin_addr=inet_addr("193.233.44.213")}, [16]) = 0 8102 <... lseek resumed> ) = -1 ESPIPE (Illegal seek) Here ^^^^^^^^^^^^^^^^^^^^^^^^ 12409 getsockname(1, 8102 getsockname(14, 12409 <... getsockname resumed> 0xbfbffbf4, [28]) = -1 ENOTSOCK (Socket operation on non-socket) And here ^^^^^^^^^^^^^^^^^^^^^^^^ 8102 <... getsockname resumed> {sa_family=0xb2 /* 8102 close(19 12409 <... sendmsg resumed> ) = 32 8102 <... close resumed> ) = 0 12409 gettimeofday( 8102 gettimeofday( 12409 <... gettimeofday resumed> {1093360418, 832098}, NULL) = 0 8102 <... gettimeofday resumed> {1093360418, 832150}, NULL) = 0 12409 poll( 8102 poll( 12409 <... poll resumed> [{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 992) = 1 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}], 7, 88) = 1 12409 gettimeofday( 8102 gettimeofday( 12409 <... gettimeofday resumed> {1093360418, 832559}, {0, 0}) = 0 8102 <... gettimeofday resumed> {1093360418, 832610}, {0, 0}) = 0 12409 break(0x806c000 8102 recvmsg(14, 12409 <... break resumed> ) = 0 8102 <... recvmsg resumed> {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32}], msg_controllen=0, msg_flags=0}, 0) = 32 12409 read(7, 8102 gettimeofday( 12409 <... read resumed> "\247\37\0\0\1\0\0\0", 4096) = 8 8102 <... gettimeofday resumed> {1093360418, 833110}, NULL) = 0 12409 gettimeofday( 8102 poll( 12409 <... gettimeofday resumed> {1093360418, 833308}, NULL) = 0 12409 poll( 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 87) = 0 8102 gettimeofday({1093360418, 931452}, {0, 0}) = 0 8102 gettimeofday({1093360418, 931569}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360418, 931798}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 [... All the same ...] 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360419, 702029}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 8102 gettimeofday({1093360419, 811520}, {0, 0}) = 0 8102 gettimeofday({1093360419, 811636}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360419, 811964}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360419, 812186}, NULL) = 0 8102 poll( 12409 <... poll resumed> [{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 991) = 0 12409 gettimeofday({1093360419, 841481}, {0, 0}) = 0 12409 gettimeofday({1093360419, 841599}, NULL) = 0 12409 poll([{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 0) = 0 12409 gettimeofday({1093360419, 841819}, {0, 0}) = 0 12409 gettimeofday({1093360419, 841949}, NULL) = 0 12409 poll( 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 8102 gettimeofday({1093360419, 921487}, {0, 0}) = 0 8102 gettimeofday({1093360419, 921602}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360419, 921830}, {0, 0}) = 0
pid 12409 is imap-login...