Re: [exim] Current solutions for smtp auth via pam

Pàgina inicial
Delete this message
Reply to this message
Autor: Jochen Gensch
Data:  
A: Sam Michaels, exim-users
CC: 
Assumpte: Re: [exim] Current solutions for smtp auth via pam
Sam Michaels schrieb:

> Make sure 'saslauthd' and 'system-auth' in /etc/pam.d are both
> readable by everyone.


Jez, I deleted these due to other testing before. Here is the new strace:

[...]
[pid 58797] write(2, "
\336\4\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0"...,
57saslauthd[58797] :rel_accept_lock : released accept lock
 <unfinished ...>
[pid 58800] write(2, 0xbfbfe1d0, 57saslauthd[58800] :get_accept_lock :
acquired accept lock
 <unfinished ...>
[pid 58797] <... write resumed> )       = 57
[pid 58800] <... write resumed> )       = 57
[pid 58797] gettimeofday( <unfinished ...>
[pid 58800] gettimeofday( <unfinished ...>
[pid 58797] <... gettimeofday resumed> {0, 0}, NULL) = 0
[pid 58800] <... gettimeofday resumed> {...}, NULL) = 0
[pid 58797] getpid( <unfinished ...>
[pid 58800] getpid( <unfinished ...>
[pid 58797] <... getpid resumed> )      = 58797 (ppid 58796)
[pid 58800] <... getpid resumed> )      = 58800 (ppid 58796)
[pid 58797] sendto(3,
"\0\0\0\0\0\0\0\0p\336\4\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 76, 0,
NULL, 0 <unfinished ...>
[pid 58800] sendto(3, 0xbfbfdfa0, 76, 0, NULL, 0 <unfinished ...>
[pid 58797] <... sendto resumed> )      = 76
[pid 58800] <... sendto resumed> )      = 76
[pid 58797] read(9,  <unfinished ...>
[pid 58800] accept(8,  <unfinished ...>
[pid 58797] <... read resumed> "\1\0", 2) = 2
[pid 58797] read(9, "\0\0\0\0\0\0", 6)  = 6
[pid 58797] read(9, "\0\0", 2)          = 2
[pid 58797] read(9, "\0\0\0\0\0\0", 6)  = 6
[pid 58797] read(9, "\0\0", 2)          = 2
[pid 58797] read(9, "\0\0", 2)          = 2
[pid 58797] open("/etc/pam.d/", O_RDONLY) = 10
[pid 58797] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 58797] break(0x805a000)            = 0
[pid 58797] read(10,
"\363FH\0\f\0\4\1.\0\0\0\365KD\0\f\0\4\2..\0\0RGH\0\20\0"..., 4096) = 512
[pid 58797] break(0x805b000)            = 0
[pid 58797] break(0x805c000)            = 0
[pid 58797] read(10, "", 4096)          = 0
[pid 58797] gettimeofday({4736755, 17039372}, NULL) = 0
[pid 58797] getpid()                    = 58797 (ppid 58796)
[pid 58797] sendto(3,
".\0\0\0\365KD\0\f\0\4\2..\0\0RGH\0\20\0\10\6README\0\325"..., 111, 0,
NULL, 0) = 111
[pid 58797] close(10)                   = 0
[pid 58797] gettimeofday({4736818, 50855948}, NULL) = 0
[pid 58797] getpid()                    = 58797 (ppid 58796)
[pid 58797] sendto(3,
"ftp\0002GH\0\20\0\10\4ftpd\0\333&\325YGH\0\20\0\10\4im"..., 85, 0,
NULL, 0) = 85
[pid 58797] getpid()                    = 58797 (ppid 58796)
[pid 58797] write(2,
"\0\332&\325WGH\0\f\0\10\3gdm\0\261HH\0\20\0\10\5login\0"...,
120saslauthd[58797] :do_auth         : auth failure: [user=status]
[service=] [realm=] [mech=pam] [reason=PAM start error]
) = 120
[pid 58797] gettimeofday({4737158, 50855948}, NULL) = 0
[pid 58797] getpid()                    = 58797 (ppid 58796)
[pid 58797] sendto(3,
"kde\0\16VH\0\24\0\10\3xdm\0tmp\0tmp\0hIH\0\20\0\10\5"..., 139, 0, NULL,
0) = 139
[pid 58797] write(9, "ot", 2)           = 2
[pid 58797] write(9, "NO PAM start error", 18) = 18
[pid 58797] close(9)                    = 0
[pid 58797] fcntl(7, F_SETLKW, {type=0x805 /* F_??? */,
whence=0xffff8000 /* SEEK_??? */, start=65280, len=0} <unfinished ...>
[pid 58800] <... accept resumed> {sa_family=AF_UNIX, path=@}, [16]) = 9
[pid 58800] fcntl(7, F_SETLKW, {type=0x12e /* F_??? */, whence=SEEK_SET,
start=577956500568625280, len=577923119948234752}) = 0
[pid 58800] getpid( <unfinished ...>
[pid 58802] getpid( <unfinished ...>
[pid 58800] <... getpid resumed> )      = 58800 (ppid 58796)
[pid 58802] <... getpid resumed> )      = 58802 (ppid 58796)
[pid 58800] write(2, "
\336\4\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0"...,
57saslauthd[58800] :rel_accept_lock : released accept lock
 <unfinished ...>
[pid 58802] write(2, 0xbfbfe1d0, 57saslauthd[58802] :get_accept_lock :
acquired accept lock
 <unfinished ...>
[pid 58800] <... write resumed> )       = 57
[pid 58802] <... write resumed> )       = 57
[pid 58800] gettimeofday( <unfinished ...>
[pid 58802] gettimeofday( <unfinished ...>
[pid 58800] <... gettimeofday resumed> {0, 0}, NULL) = 0
[pid 58802] <... gettimeofday resumed> {...}, NULL) = 0
[pid 58800] getpid( <unfinished ...>
[pid 58802] getpid( <unfinished ...>
[pid 58800] <... getpid resumed> )      = 58800 (ppid 58796)
[pid 58802] <... getpid resumed> )      = 58802 (ppid 58796)
[pid 58800] sendto(3,
"\0\0\0\0\0\0\0\0p\336\4\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 76, 0,
NULL, 0 <unfinished ...>
[pid 58802] sendto(3, 0xbfbfdfa0, 76, 0, NULL, 0 <unfinished ...>
[pid 58800] <... sendto resumed> )      = 76
[pid 58802] <... sendto resumed> )      = 76
[pid 58800] read(9,  <unfinished ...>
[pid 58802] accept(8,  <unfinished ...>
[pid 58800] <... read resumed> "\1\0", 2) = 2
[pid 58800] read(9, "\0\0\0\0\0\0", 6)  = 6
[pid 58800] read(9, "\0\0", 2)          = 2
[pid 58800] read(9, "\0\0\0\0\0\0", 6)  = 6
[pid 58800] read(9, "\0\0", 2)          = 2
[pid 58800] read(9, "\0\0", 2)          = 2
[pid 58800] open("/etc/pam.d/", O_RDONLY) = 10
[pid 58800] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 58800] break(0x805a000)            = 0
[pid 58800] read(10,
"\363FH\0\f\0\4\1.\0\0\0\365KD\0\f\0\4\2..\0\0RGH\0\20\0"..., 4096) = 512
[pid 58800] break(0x805b000)            = 0
[pid 58800] break(0x805c000)            = 0
[pid 58800] read(10, "", 4096)          = 0
[pid 58800] gettimeofday({4736755, 17039372}, NULL) = 0
[pid 58800] getpid()                    = 58800 (ppid 58796)
[pid 58800] sendto(3,
".\0\0\0\365KD\0\f\0\4\2..\0\0RGH\0\20\0\10\6README\0\325"..., 111, 0,
NULL, 0) = 111
[pid 58800] close(10)                   = 0
[pid 58800] gettimeofday({4736818, 50855948}, NULL) = 0
[pid 58800] getpid()                    = 58800 (ppid 58796)
[pid 58800] sendto(3,
"ftp\0002GH\0\20\0\10\4ftpd\0\333&\325YGH\0\20\0\10\4im"..., 85, 0,
NULL, 0) = 85
[pid 58800] getpid()                    = 58800 (ppid 58796)
[pid 58800] write(2,
"\0\332&\325WGH\0\f\0\10\3gdm\0\261HH\0\20\0\10\5login\0"...,
120saslauthd[58800] :do_auth         : auth failure: [user=status]
[service=] [realm=] [mech=pam] [reason=PAM start error]
) = 120
[pid 58800] gettimeofday({4737158, 50855948}, NULL) = 0
[pid 58800] getpid()                    = 58800 (ppid 58796)
[pid 58800] sendto(3,
"kde\0\16VH\0\24\0\10\3xdm\0tmp\0tmp\0hIH\0\20\0\10\5"..., 139, 0, NULL,
0) = 139
[pid 58800] write(9, "ot", 2)           = 2
[pid 58800] write(9, "NO PAM start error", 18) = 18
[pid 58800] close(9)                    = 0
[pid 58800] fcntl(7, F_SETLKW, {type=0x805 /* F_??? */,
whence=0xffff8000 /* SEEK_??? */, start=65280, len=0}
[...]


Looks pretty much the same to me. However from what I've read in the
sasl2 and exim docs, saslauthd should look for a file named "exim". Even
if that doesn't exist, shouldn't it use "other" then? That is the
predefined default config here (or maybe on every pam system). Why is it
looking for ftpd, gdm etc.? I did a further "testsaslauthd -u USER -p
PASS" (as root with false user/password) a ran a strace on that as well:

[...]
[pid 59137] getpid()                    = 59137 (ppid 59136)
[pid 59137] sendto(3,
"\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"..., 75, 0,
NULL, 0) = 75
[pid 59137] fcntl(7, F_SETLKW, {type=0 /* F_??? */, whence=SEEK_SET,
start=0, len=0} <unfinished ...>
[pid 59138] fcntl(7, F_SETLKW, {...})   = 0
[pid 59138] getpid( <unfinished ...>
[pid 59141] getpid( <unfinished ...>
[pid 59138] <... getpid resumed> )      = 59138 (ppid 59137)
[pid 59141] <... getpid resumed> )      = 59141 (ppid 59137)
[pid 59138] write(2, 0xbfbfe1d0, 57saslauthd[59138] :rel_accept_lock :
released accept lock
 <unfinished ...>
[pid 59141] write(2, 0xbfbfe1d0, 57saslauthd[59141] :get_accept_lock :
acquired accept lock
 <unfinished ...>
[pid 59138] <... write resumed> )       = 57
[pid 59141] <... write resumed> )       = 57
[pid 59138] gettimeofday( <unfinished ...>
[pid 59141] gettimeofday( <unfinished ...>
[pid 59138] <... gettimeofday resumed> {...}, NULL) = 0
[pid 59141] <... gettimeofday resumed> {...}, NULL) = 0
[pid 59138] getpid( <unfinished ...>
[pid 59141] getpid( <unfinished ...>
[pid 59138] <... getpid resumed> )      = 59138 (ppid 59137)
[pid 59141] <... getpid resumed> )      = 59141 (ppid 59137)
[pid 59138] sendto(3, 0xbfbfdfa0, 76, 0, NULL, 0 <unfinished ...>
[pid 59141] sendto(3, 0xbfbfdfa0, 76, 0, NULL, 0 <unfinished ...>
[pid 59138] <... sendto resumed> )      = 76
[pid 59141] <... sendto resumed> )      = 76
[pid 59138] read(9,  <unfinished ...>
[pid 59141] accept(8,  <unfinished ...>
[pid 59138] <... read resumed> 0xbfbfe7ae, 2) = 2
[pid 59138] read(9, 0xbfbfeae0, 4)      = 4
[pid 59138] read(9, 0xbfbfe7ae, 2)      = 2
[pid 59138] read(9, 0xbfbfe9d0, 4)      = 4
[pid 59138] read(9, 0xbfbfe7ae, 2)      = 2
[pid 59138] read(9, 0xbfbfe8c0, 4)      = 4
[pid 59138] read(9, 0xbfbfe7ae, 2)      = 2
[pid 59138] open("/etc/pam.d/imap", O_RDONLY) = 10
[pid 59138] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] break(0x805a000)            = 0
[pid 59138] read(10, "#\n# $FreeBSD: src/etc/pam.d/imap"..., 4096) = 324
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] open("/usr/lib/pam_unix.so.3", O_RDONLY) = 11
[pid 59138] fstat(11, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(11,
"\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\310\17"..., 4096) = 4096
[pid 59138] mmap(0, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE,
11, 0) = 0x282d8000
[pid 59138] mprotect(0x282da000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
[pid 59138] mprotect(0x282da000, 4096, PROT_READ|PROT_EXEC) = 0
[pid 59138] mmap(0x282db000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 11, 0x2000) = 0x282db000
[pid 59138] close(11)                   = 0
[pid 59138] access("/lib/libutil.so.5", F_OK) = 0
[pid 59138] open("/lib/libutil.so.5", O_RDONLY) = 11
[pid 59138] fstat(11, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(11,
"\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270-\0"..., 4096) = 4096
[pid 59138] mmap(0, 49152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE,
11, 0) = 0x282dc000
[pid 59138] mprotect(0x282e5000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
[pid 59138] mprotect(0x282e5000, 4096, PROT_READ|PROT_EXEC) = 0
[pid 59138] mmap(0x282e6000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 11, 0x9000) = 0x282e6000
[pid 59138] mmap(0x282e7000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x282e7000
[pid 59138] close(11)                   = 0
[pid 59138] access("/lib/libcrypt.so.3", F_OK) = 0
[pid 59138] access("/lib/libypclnt.so.2", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/libypclnt.so.2", F_OK) = 0
[pid 59138] open("/usr/lib/libypclnt.so.2", O_RDONLY) = 11
[pid 59138] fstat(11, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(11,
"\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\310\24"..., 4096) = 4096
[pid 59138] mmap(0, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE,
11, 0) = 0x282e8000
[pid 59138] mprotect(0x282ea000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
[pid 59138] mprotect(0x282ea000, 4096, PROT_READ|PROT_EXEC) = 0
[pid 59138] mmap(0x282eb000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 11, 0x3000) = 0x282eb000
[pid 59138] close(11)                   = 0
[pid 59138] access("/lib/libpam.so.3", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/libpam.so.3", F_OK) = 0
[pid 59138] mmap(0, 640, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x282ec000
[pid 59138] munmap(0x282ec000, 640)     = 0
[pid 59138] mmap(0, 1784, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) =
0x282ec000
[pid 59138] munmap(0x282ec000, 1784)    = 0
[pid 59138] mmap(0, 912, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x282ec000
[pid 59138] munmap(0x282ec000, 912)     = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] close(10)                   = 0
[pid 59138] open("/etc/pam.d/other", O_RDONLY) = 10
[pid 59138] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(10, "#\n# $FreeBSD: src/etc/pam.d/othe"..., 4096) = 661
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] open("/usr/lib/pam_login_access.so.3", O_RDONLY) = 11
[pid 59138] fstat(11, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(11,
"\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\274\10"..., 4096) = 4096
[pid 59138] mmap(0, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE,
11, 0) = 0x282ec000
[pid 59138] mprotect(0x282ed000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
[pid 59138] mprotect(0x282ed000, 4096, PROT_READ|PROT_EXEC) = 0
[pid 59138] mmap(0x282ee000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 11, 0x1000) = 0x282ee000
[pid 59138] close(11)                   = 0
[pid 59138] access("/lib/libpam.so.3", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/libpam.so.3", F_OK) = 0
[pid 59138] mmap(0, 392, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x282ef000
[pid 59138] munmap(0x282ef000, 392)     = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] close(10)                   = 0
[pid 59138] open("/etc/pam.d/other", O_RDONLY) = 10
[pid 59138] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(10, "#\n# $FreeBSD: src/etc/pam.d/othe"..., 4096) = 661
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] open("/usr/lib/pam_permit.so.3", O_RDONLY) = 11
[pid 59138] fstat(11, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(11, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0
\6\0\000"..., 4096) = 3520
[pid 59138] mmap(0, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE,
11, 0) = 0x282ef000
[pid 59138] mprotect(0x282ef000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
[pid 59138] mprotect(0x282ef000, 4096, PROT_READ|PROT_EXEC) = 0
[pid 59138] mmap(0x282f0000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 11, 0) = 0x282f0000
[pid 59138] close(11)                   = 0
[pid 59138] access("/lib/libpam.so.3", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/libpam.so.3", F_OK) = 0
[pid 59138] mmap(0, 304, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x282f1000
[pid 59138] munmap(0x282f1000, 304)     = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] close(10)                   = 0
[pid 59138] open("/etc/pam.d/other", O_RDONLY) = 10
[pid 59138] fstat(10, {st_mode=0, st_size=0, ...}) = 0
[pid 59138] read(10, "#\n# $FreeBSD: src/etc/pam.d/othe"..., 4096) = 661
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] close(10)                   = 0
[pid 59138] stat("/etc/nsswitch.conf", {st_mode=040,
st_size=16325561534447625, ...}) = 0
[pid 59138] open("/etc/nsswitch.conf", O_RDONLY) = 10
[pid 59138] break(0x805b000)            = 0
[pid 59138] break(0x805c000)            = 0
[pid 59138] ioctl(10, TIOCGETA, 0xbfbfe100) = -1 ENOTTY (Inappropriate
ioctl for device)
[pid 59138] fstat(10, {st_mode=040, st_size=16325561534447625, ...}) = 0
[pid 59138] break(0x805d000)            = 0
[pid 59138] read(10, "group: compat\ngroup_compat: nis\n"..., 4096) = 113
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] access("/usr/lib/nss_compat.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/local/lib/nss_compat.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/lib/nss_compat.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/nss_compat.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/lib/compat/nss_compat.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/usr/local/lib/nss_compat.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/usr/local/lib/compat/pkg/nss_compat.so.1", F_OK) =
-1 ENOENT (No such file or directory)
[pid 59138] access("/usr/local/lib/courier-authlib/nss_compat.so.1",
F_OK) = -1 ENOENT (No such file or directory)
[pid 59138] access("/lib/nss_compat.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/nss_compat.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] break(0x805e000)            = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] access("/usr/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/local/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/compat/nss_nis.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/local/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/local/lib/compat/pkg/nss_nis.so.1", F_OK) = -1
ENOENT (No such file or directory)
[pid 59138] access("/usr/local/lib/courier-authlib/nss_nis.so.1", F_OK)
= -1 ENOENT (No such file or directory)
[pid 59138] access("/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/nss_nis.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] access("/usr/lib/nss_files.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/local/lib/nss_files.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/lib/nss_files.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/nss_files.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/compat/nss_files.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/usr/local/lib/nss_files.so.1", F_OK) = -1 ENOENT
(No such file or directory)
[pid 59138] access("/usr/local/lib/compat/pkg/nss_files.so.1", F_OK) =
-1 ENOENT (No such file or directory)
[pid 59138] access("/usr/local/lib/courier-authlib/nss_files.so.1",
F_OK) = -1 ENOENT (No such file or directory)
[pid 59138] access("/lib/nss_files.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/nss_files.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] access("/usr/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/local/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] access("/usr/lib/compat/nss_dns.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/local/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No
such file or directory)
[pid 59138] access("/usr/local/lib/compat/pkg/nss_dns.so.1", F_OK) = -1
ENOENT (No such file or directory)
[pid 59138] access("/usr/local/lib/courier-authlib/nss_dns.so.1", F_OK)
= -1 ENOENT (No such file or directory)
[pid 59138] access("/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No such file
or directory)
[pid 59138] access("/usr/lib/nss_dns.so.1", F_OK) = -1 ENOENT (No such
file or directory)
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] ioctl(10, TIOCGETA, 0xbfbfe110) = -1 ENOTTY (Inappropriate
ioctl for device)
[pid 59138] close(10)                   = 0
[pid 59138] geteuid(0x68acf04)          = 0
[pid 59138] stat("/etc/spwd.db", {st_mode=S_IFCHR|S_ISUID|S_ISGID|0522,
st_rdev=makedev(44, 4294639855), ...}) = 0
[pid 59138] open("/etc/spwd.db", O_RDONLY) = 10
[pid 59138] fcntl(10, F_SETFD, FD_CLOEXEC) = 0
[pid 59138] read(10,
"\0\6\25a\0\0\0\2\0\0\4\322\0\0\20\0\0\0\0\f\0\0\1\0\0\0"..., 260) = 260
[pid 59138] lseek(10, 24576, SEEK_SET)  = 24576
[pid 59138] read(10,
"B\0\370\17\367\17\362\17\221\17\214\17+\17&\17\354\16\347"..., 4096) = 4096
[pid 59138] break(0x805f000)            = 0
[pid 59138] lseek(10, 16384, SEEK_SET)  = 16384
[pid 59138] read(10,
"4\0\373\17\232\17\225\0174\17/\17\316\16\311\16h\16c\16"..., 4096) = 4096
[pid 59138] break(0x8060000)            = 0
[pid 59138] lseek(10, 20480, SEEK_SET)  = 20480
[pid 59138] read(10,
",\0\373\17\301\17\274\17\202\17}\17(\17#\17\316\16\311"..., 4096) = 4096
[pid 59138] break(0x8061000)            = 0
[pid 59138] lseek(10, 28672, SEEK_SET)  = 28672
[pid 59138] read(10,
"8\0\373\17\276\17\271\17|\17w\17+\17&\17\332\16\324\16"..., 4096) = 4096
[pid 59138] break(0x8062000)            = 0
[pid 59138] lseek(10, 32768, SEEK_SET)  = 32768
[pid 59138] read(10,
"4\0\373\17\257\17\252\17^\17Y\17\36\17\31\17\336\16\325"..., 4096) = 4096
[pid 59138] break(0x8063000)            = 0
[pid 59138] lseek(10, 4096, SEEK_SET)   = 4096
[pid 59138] read(10,
"$\0\373\17\300\17\273\17\200\17{\17>\0179\17\374\16\367"..., 4096) = 4096
[pid 59138] break(0x8064000)            = 0
[pid 59138] lseek(10, 8192, SEEK_SET)   = 8192
[pid 59138] read(10,
"$\0\373\17\276\17\271\17|\17w\17*\17%\17\330\16\322\16"..., 4096) = 4096
[pid 59138] break(0x8065000)            = 0
[pid 59138] lseek(10, 12288, SEEK_SET)  = 12288
[pid 59138] read(10,
"(\0\374\17\260\17\254\17`\17\\\17!\17\35\17\342\16\335"..., 4096) = 4096
[pid 59138] close(10)                   = 0
[pid 59138] lstat("/etc/login.conf", {st_mode=S_IFBLK|S_ISGID|0562,
st_rdev=makedev(95, 1702035456), ...}) = 0
[pid 59138] stat("owned by root", {st_mode=0, st_size=0, ...}) = 0
[pid 59138] open("", O_RDONLY)          = 10
[pid 59138] fcntl(10, F_SETFD, FD_CLOEXEC) = 0
[pid 59138] read(10,
"\0\6\25a\0\0\0\2\0\0\4\322\0\0\20\0\0\0\0\f\0\0\1\0\0\0"..., 260) = 260
[pid 59138] lseek(10, 8192, SEEK_SET)   = 8192
[pid 59138] read(10,
"\16\0\371\17\333\r\323\r\262\v\255\v\217\t\213\tn\7h\7"..., 4096) = 4096
[pid 59138] close(10)                   = 0
[pid 59138] open("/etc/auth.conf", O_RDONLY) = 10
[pid 59138] read(10,
"\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 4096) = 231
[pid 59138] read(10, "", 4096)          = 0
[pid 59138] close(10)                   = 0
[pid 59138] gettimeofday({67306239, 134678021}, NULL) = 0
[pid 59138] getpid()                    = 59138 (ppid 59137)
[pid 59138] sendto(3,
"\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27\30\31\32\33\377"..., 100, 0,
NULL, 0) = 100
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] munmap(0x282d8000, 16384)   = 0
[pid 59138] munmap(0x282dc000, 49152)   = 0
[pid 59138] munmap(0x282e8000, 16384)   = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] munmap(0x282ec000, 12288)   = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV
SYS], []) = 0
[pid 59138] munmap(0x282ef000, 8192)    = 0
[pid 59138] sigprocmask(SIG_SETMASK, [], NULL) = 0
[pid 59138] getpid()                    = 59138 (ppid 59137)
[pid 59138] write(2,
"\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"...,
121saslauthd[59138] :do_auth         : auth failure: [user=USER]
[service=imap] [realm=] [mech=pam] [reason=PAM auth error]
) = 121
[pid 59138] gettimeofday({1, 671461044}, NULL) = 0
[pid 59138] getpid()                    = 59138 (ppid 59137)
[pid 59138] sendto(3,
"\34\257\5(@\257\5(T\257\5(\344\257\5((\260\5(L\260\5(\0"..., 140, 0,
NULL, 0) = 140
[pid 59138] write(9, "\0\0", 2)         = 2
[pid 59138] write(9, "NO PAM auth error", 17) = 17
[pid 59138] close(9)                    = 0
[pid 59138] fcntl(7, F_SETLKW, {type=0 /* F_??? */, whence=SEEK_SET,
start=0, len=0}
[...]


Here it IS openning pam.d/other, even though I'm wondering aber the
service name "imap" here. So it looked as if I needed to pass a service
name to saslauthd. I did this in my exim conf (used imap as a first
try), and it worked immediately. Your files saslautd and sasl-auth have
never been used :-).


> Also, check /var/log/debug. I think it writes any errors to the
> syslog debug facility.


Nothing real in here...

[...]
Jan 17 00:27:18 ms imapd-ssl: Connection, ip=[::ffff:10.0.0.7]
Jan 17 00:28:03 ms saslauthd[56741]: rel_accept_lock : released accept lock
Jan 17 00:28:03 ms saslauthd[56744]: get_accept_lock : acquired accept lock
Jan 17 00:28:03 ms saslauthd[56741]: DEBUG: auth_pam: pam_start failed:
system error
Jan 17 00:28:03 ms saslauthd[56744]: rel_accept_lock : released accept lock
Jan 17 00:28:03 ms saslauthd[56746]: get_accept_lock : acquired accept lock
Jan 17 00:28:03 ms saslauthd[56744]: DEBUG: auth_pam: pam_start failed:
system error
Jan 17 00:36:07 ms imapd-ssl: Unexpected SSL connection shutdown.
[...]

Jochen