Imagine for a moment that Solaris provided a pair of extra calls:
set_auxgroups_max(int max)
and
activate_auxgroup(group)

The first allows the aux group list to be as long as you like.
The second makes an existing member of the aux groups "active",
where active really means that it's moved to the first 8, 16 or
32. Both require root permissions.

Does that help?

--dave
--
David Collier-Brown, | Always do right. This will gratify
Sun Microsystems, Toronto | some people and astonish the rest
davecb@canada.sun.com | -- Mark Twain