On rhel5-6 I need to find a way to effectively call seteuid() for a process as a user that is not a super-user. In addition, I would also like to be able to control which uids for which calls to seteuid() will be successful, for a given user. I'm fairly certain that nothing like this is baked in to rhel, and I've been told that it is impossible without creating a kernel module. Is anyone aware of such a module already in development?
EDIT: The purpose of setting the effective uid of a process (without forking) is to write files owned by other users in the same group from a generic process (rather than forking and sudo-ing).