Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!panda!talcott!harvard!seismo!brl-tgr!tgr!ron@BRL-TGR
From: Ron Natalie  
Newsgroups: net.unix-wizards
Subject: Re:  Query about setuid()
Message-ID: <8186@brl-tgr.ARPA>
Date: Sun, 10-Feb-85 15:59:32 EST
Article-I.D.: brl-tgr.8186
Posted: Sun Feb 10 15:59:32 1985
Date-Received: Wed, 13-Feb-85 02:20:01 EST
Sender: news@brl-tgr.ARPA
Organization: Ballistic Research Lab
Lines: 16

The VAX version is only valid for System V release 2 or later.  Prior
to that it was always illegal to set the UID to something other than
the real uid if you were not the superuser.  In VR2 you are allowed
to return to the value you were originally invoked as.

First, remember that the Pyramid UNIX (OS/x) has both System V and 4.2
modes.  Assuming bsd mode, It would seem that the Pyramid is wrong for
not doing the first case, since setting the effective to the real is
allowed (and it did do it). In the second case, it is correct.  4.2 only
allows the real to be set to the effective and vice versa.  Note that
setuid() will set both the real and the effective on 4.2.  There are
other calls to set them individually.

Perhaps you should try the Pyramid in Sys5 mode?

-Ron