[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: .forward files no longer work, life with a trapdoor setuid() [SysV]



> 	We are running many crazy UNIXen at my site, and the first machine
> on which we are testing Zmailer is an RS/6000 running RS/6000 AIX 3.1, a 
> derivative of SysVr3 with a lot of SysVr4 and 4.3BSD added in plus a LOT
> of IBM hacks. Unfortunately, the behaviour warned about in the documentation
> with SysVs and setuid() has been shown by our system, and there is no way

  IBM AIX has very peculiar implementation of setreuid(), actully it needs
a combination of setruid()/seteuid() AND something IBM calls priviledge
vectors.  File system priviledges do NOT come from ruid/euid, but rather
from those odd priviledge vectors...   See FAQs at  comp.unix.aix

> we know of to get around that. Because of the problems we have been having
> with this, I have hacked the mailbox program to not change UIDs, and to
> remove the pipe and file capabilities. The question I have here is, other
> than for those two capabilities, why does the mailbox program need to set
> its UID to that of the recipient, and if there is a good reason for it to
> do so, why can't it fork() a child process to actually switch its UID and
> do the job, then just wait for the child to finish (thus avoiding this
> problem with SysV systems)?

  One (horrendous) hack to do reversible setuid() in SysV is to open /dev/kmem
and write into user area... See:  libc/setreuid.c

> 	Along a possibly similar note, since we installed Zmailer, .forward
> files in users' home directories are not recognized at all. I'm not exactly
> sure if this behavior was evident before I hacked mailbox, but now it's very
> certainly there. Can anyone suggest either a fix or a place to look to find
> the problem?
> 
> 							Thanks,
> 
> 							-Craig

  In $MAILSHARE/router.cf  there is a variable to be set:
	private='.forward maillists'
(see associated comments on example files)

	/Matti Aarnio <mea@utu.fi>