<div dir="ltr">On Sun, Apr 7, 2013 at 4:01 PM, Geoffrey Myers <span dir="ltr">&lt;<a href="mailto:lists@serioustechnology.com" target="_blank">lists@serioustechnology.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div>On Apr 5, 2013, at 6:26 PM, David Tomaschik wrote:</div><br><blockquote type="cite">
<div dir="ltr">Having a shell in between shouldn&#39;t be a problem…</div></blockquote><div><br></div>It is.  Here is what currently happens.  C program that is setuid calls another C program via system().  The problem is, system spawns a new shell and the euid is not retained, hence when attempting to execute the 2nd C program, I get permission denied.</div>
</div></blockquote><div><br></div><div style>Is there a reason you couldn&#39;t just call setreuid() in the first program to make the real uid be the effective uid?</div><div><br></div></div>-- <br>David Tomaschik<br>OpenPGP: 0x5DEA789B<br>
<a href="http://systemoverlord.com" target="_blank">http://systemoverlord.com</a><br><a href="mailto:david@systemoverlord.com" target="_blank">david@systemoverlord.com</a>
</div></div>