I'm trying to convert my testbed Courier environment (0.44.2) from
being "userdb"-based (which is what's currently running on our
production Courier server) to being passwd-based (from NIS) instead.

Under the old "userdb" environment, the home directories in "userdb"
were all of the form

/var/maildirs/virtual/my.do.main

and all the files/directories were owned/group-owned by user
"courier" and group "courier".

I created a custom local NIS /etc/auto_home to re-point the home
directories (as fetched from the NIS auto.home map) to the above
mentioned Courier tree.

I then edited /opt/courier/etc/courierd and changed DEFAULTDELIVERY to
use "procmail" instead of "maildrop" (for other, non-related reasons):

DEFAULTDELIVERY="| /opt/courier/bin/preline /opt/procmail/bin/procmail"

I removed "authuserdb" from /opt/courier/etc/authdaemonrc:

#authmodulelist="authcustom authcram authuserdb authldap authpam"
authmodulelist="authcram authpam"

I restarted Courier completely and immediately ran into problems:

Mar 8 21:17:01 testbed courieresmtpd: [ID 702911 mail.error] error,relay=::ffff: 137.78.38.32,from=<[EMAIL PROTECTED]>,to=<[EMAIL PROTECTED]>: 511 maildrop: Invalid home directory permissions - world writable.

(There were no world-writable directories in the path, and I don't
understand why "maildrop" was called, given that I changed
DEFAULTDELIVERY to use "procmail" instead.)

I thought I needed to change permissions on my own home directory
on down to be owned by me instead of "courier", so I tried that.

That didn't work either.  So I truss'ed the Courier "couriertcpd"
process to watch the entire transaction of receiving mail, and I
was surprised to see that "/opt/courier/libexec/courier/submit"
did the following:

14954: open("/opt/courier/etc/authmodulelist", O_RDONLY) = 5
14954: read(5, " a u t h d a e m o n\n", 1024) = 11
14954: close(5) = 0
14954: so_socket(1, 2, 0, "", 1) = 5
[...]
14954: connect(5, 0xFFBEA388, 110, 1) = 0
14954: AF_UNIX name = /opt/courier/var/authdaemon/socket
[...]
14954: poll(0xFFBEA2C0, 1, 15000) = 1
14954: fd=5 ev=POLLOUT rev=POLLOUT
14954: write(5, 0x00070E48, 20) = 20
14954: P R E . c o u r i e r e a r l e\n
[...]
14954: read(5, 0xFFBEA4B8, 1023) = 107
14954: U S E R N A M E = e a r l e\n U I D = 6 9\n G I D = 6 9\n H O M
14954: E = / v a r / m a i l d i r s / v i r t u a l / m y . d o m a i
14954: n / e a r l e\n A D D R E S S = e a r l e\n N A M E = G r e g
14954: E a r l e\n .\n
[...]
14942: close(5) = 0
14942: open("/opt/courier/etc/maildropfilter", O_RDONLY) = 5
[...]
14942: read(5, 0x001440CC, 8192) = 26
14942: / o p t / c o u r i e r / b i n / m a i l d r o p\n
[...]
14942: pipe() = 5 [6]
14942: fork() = 14944
14944: fork() (returning as child ...) = 14942
[...]
14944: execve("/opt/courier/bin/maildrop", 0xFFBEA390, 0x00074388) argc = 10


Clearly the authdaemon listening on the other end of the socket
still thinks I'm using "userdb", even though I disabled "authuserdb"
in the authdaemonrc file.  And "maildrop" is still getting invoked.

What am I doing wrong?

Thanks in advance,

- Greg



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to