<div dir="ltr"><br><div>Here is what I ended up with from a &quot;get this working&quot; perspective:</div><div><br></div><div><br></div><div><div>#include &lt;stdio.h&gt;</div><div>#include &lt;stdlib.h&gt;</div><div>#include &lt;sys/types.h&gt;</div>

<div>#include &lt;unistd.h&gt;</div><div><br></div><div><br></div><div>int main(int argc, char **argv)</div><div>{  </div><div>   </div><div>   setuid( 662705787 );</div><div>   </div><div>   char Command[512];</div><div>

   sprintf(Command, &quot;ssh user2@Server2 -C &#39;/home/user2/bin/Test.sh %s&#39;&quot;, argv[1]);</div><div>   system((char *)Command);</div><div>   </div><div>   return 0;</div><div>}</div><div><br></div></div><div><br>

</div><div>Given that I have something that works, I need to put the data checks in for a character length of 5 alpha numeric.  What changes should I make?  What other &#39;good to do&#39; would anyone suggest?  I need to have this basic functionality, but I&#39;d like to make it &quot;better&quot; as well but I don&#39;t know C other than how to do a &quot;gcc&quot; or read very specific examples.</div>

<div><br></div><div>Robert</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 24, 2014 at 6:57 AM, Horkan Smith <span dir="ltr">&lt;<a href="mailto:ale@horkan.net" target="_blank">ale@horkan.net</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You might also want to restrict what a user could do via ssh on the 2nd server:<br>
<br>
<a href="http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login" target="_blank">http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login</a><br>


<br>
<a href="http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh/" target="_blank">http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh/</a><br>
<br>
<a href="http://cybermashup.com/2013/05/14/restrict-ssh-logins-to-a-single-command/" target="_blank">http://cybermashup.com/2013/05/14/restrict-ssh-logins-to-a-single-command/</a><br>
<br>
later!<br>
   horkan<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, May 22, 2014 at 05:37:32PM -0600, Robert L. Harris wrote:<br>
&gt; The reason for the &quot;system&quot; is just to see what value I&#39;m getting out.<br>
&gt;<br>
&gt; I have a perl script doing a bunch of processing which will be run by a<br>
&gt; couple different users.  One aspect of the perl script is to connect to<br>
&gt; another machine and run a command as a specific user.  Instead of having<br>
&gt; others know the passwd, etc.  I have a hostkey set up from my server as a<br>
&gt; non-privledged user to another system.  I want to have the C program setuid<br>
&gt; to the non-privledged user, ssh to the second server and run 1 command with<br>
&gt; the only variable being XXXXX.  More convoluted than I want but the safest<br>
&gt; method I can come up with to get just the output I need from the second<br>
&gt; server.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, May 22, 2014 at 5:31 PM, Ed Cashin &lt;<a href="mailto:ecashin@noserose.net">ecashin@noserose.net</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; In general, with this kind of stuff, you want to avoid using the<br>
&gt; &gt; shell, so no use of &quot;system&quot; or other library calls that implicitly<br>
&gt; &gt; run a shell.  The reason is that most programmers cannot anticipate<br>
&gt; &gt; all the corner cases that allow unexpected things to happen when you<br>
&gt; &gt; run a shell from your C program based on user data.<br>
&gt; &gt;<br>
&gt; &gt; But this extra information is making me less certain that I&#39;m coming<br>
&gt; &gt; up with the best feedback.<br>
&gt; &gt;<br>
&gt; &gt; Does it happen to be the case that you&#39;re using C because you want to<br>
&gt; &gt; create an executable that you will make setuid root?<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Thu, May 22, 2014 at 7:12 PM, Robert L. Harris<br>
&gt; &gt; &lt;<a href="mailto:robert.l.harris@gmail.com">robert.l.harris@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; My main goal is to make sure someone doesn&#39;t run this command and pass it<br>
&gt; &gt; &gt; somethign like :     &quot;15361; rm -rf ~/*&quot;<br>
&gt; &gt; &gt; I will need another version where XXXXX can be any alpha-numeric<br>
&gt; &gt; character<br>
&gt; &gt; &gt; too but the main concern is the moron doing something stupid.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Robert<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Thu, May 22, 2014 at 4:40 PM, Ed Cashin &lt;<a href="mailto:ecashin@noserose.net">ecashin@noserose.net</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; I&#39;m not at a keyboard now, but strtol could do it all if you provide a<br>
&gt; &gt; &gt;&gt; non-NULL end pointer. (That will make sense on reading the strtol man<br>
&gt; &gt; page.)<br>
&gt; &gt; &gt;&gt; Just subtract the end from the start and compare to 5,after specifying<br>
&gt; &gt; base<br>
&gt; &gt; &gt;&gt; ten.<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; On May 22, 2014 6:17 PM, &quot;Robert L. Harris&quot; &lt;<a href="mailto:robert.l.harris@gmail.com">robert.l.harris@gmail.com</a>&gt;<br>
&gt; &gt; &gt;&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Anyone have a very simple C program source that given a command of :<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; ./Validate XXXXX<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; it will verify that XXXXX is a 5 digit integer and then execute<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; system( &quot;/bin/touch XXXXX&quot;);<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; There&#39;s much more to it but I&#39;m hung up on this.  Unfortunately I&#39;m<br>
&gt; &gt; not a<br>
&gt; &gt; &gt;&gt;&gt; C person.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Robert<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; --<br>
&gt; &gt; &gt;&gt;&gt; :wq!<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; ---------------------------------------------------------------------------<br>
&gt; &gt; &gt;&gt;&gt; Robert L. Harris<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; DISCLAIMER:<br>
&gt; &gt; &gt;&gt;&gt;       These are MY OPINIONS             With Dreams To Be A King,<br>
&gt; &gt; &gt;&gt;&gt;        ALONE.  I speak for                      First One Should Be A<br>
&gt; &gt; Man<br>
&gt; &gt; &gt;&gt;&gt;        no-one else.                                     - Manowar<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt; &gt;&gt;&gt; Ale mailing list<br>
&gt; &gt; &gt;&gt;&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; &gt; &gt;&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; &gt; &gt;&gt;&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; &gt; &gt;&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; _______________________________________________<br>
&gt; &gt; &gt;&gt; Ale mailing list<br>
&gt; &gt; &gt;&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; &gt; &gt;&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; &gt; &gt;&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; &gt; &gt;&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; :wq!<br>
&gt; &gt; &gt;<br>
&gt; &gt; ---------------------------------------------------------------------------<br>
&gt; &gt; &gt; Robert L. Harris<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; DISCLAIMER:<br>
&gt; &gt; &gt;       These are MY OPINIONS             With Dreams To Be A King,<br>
&gt; &gt; &gt;        ALONE.  I speak for                      First One Should Be A Man<br>
&gt; &gt; &gt;        no-one else.                                     - Manowar<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Ale mailing list<br>
&gt; &gt; &gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; &gt; &gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; &gt; &gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; &gt; &gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt;   Ed Cashin &lt;<a href="mailto:ecashin@noserose.net">ecashin@noserose.net</a>&gt;<br>
&gt; &gt;   <a href="http://noserose.net/e/" target="_blank">http://noserose.net/e/</a><br>
&gt; &gt;   <a href="http://www.coraid.com/" target="_blank">http://www.coraid.com/</a><br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Ale mailing list<br>
&gt; &gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; &gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; &gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; &gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; :wq!<br>
&gt; ---------------------------------------------------------------------------<br>
&gt; Robert L. Harris<br>
&gt;<br>
&gt; DISCLAIMER:<br>
&gt;       These are MY OPINIONS             With Dreams To Be A King,<br>
&gt;        ALONE.  I speak for                      First One Should Be A Man<br>
&gt;        no-one else.                                     - Manowar<br>
<br>
&gt; _______________________________________________<br>
&gt; Ale mailing list<br>
&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
<br>
<br>
--<br>
</div></div><span class="HOEnZb"><font color="#888888">Horkan Smith<br>
<a href="tel:678-777-3263" value="+16787773263">678-777-3263</a> cell, <a href="mailto:ale@horkan.net">ale@horkan.net</a><br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>:wq!<br>---------------------------------------------------------------------------<br>Robert L. Harris<br><br>DISCLAIMER:<br>      These are MY OPINIONS             With Dreams To Be A King,<br>

       ALONE.  I speak for                      First One Should Be A Man<br>       no-one else.                                     - Manowar
</div>