Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!masscomp!peora!tarpit!bilver!jwt!john From: john@jwt.UUCP (John Temples) Newsgroups: comp.unix.sysv386 Subject: Re: system(3) behaviour under Esix rev. D Message-ID: <1991Feb27.023816.10043@jwt.UUCP> Date: 27 Feb 91 02:38:16 GMT References: <1991Feb17.214252.27336@metro.ucc.su.OZ.AU> <868@mecky.UUCP> <27C93418.F26@tct.uucp> Organization: Private System -- Orlando, FL Lines: 12 In article <27C93418.F26@tct.uucp> chip@tct.uucp (Chip Salzenberg) writes: >SCO support has confirmed that /bin/sh doesn't like EUID and UID >differing, and attempts to "correct" the matter. Double bleh. I don't think this is the source of the problem with ESIX. If I do { setuid(0); exec("/bin/sh", ...); } I get a root shell. If I do a { system("id"); } I get uid=me, euid=me if the program is setuid root; but I get uid=me, euid=him if the program is setuid to non-root "him". The system() call appears to zap the euid only if it's 0; sh seems not care. The same holds under ISC, incidentally. -- John W. Temples -- john@jwt.UUCP (uunet!jwt!john)