<p>Just make sure that noone but you can talk to gdbserver. Does it have some authentication mechanism? </p>
<div class="gmail_quote">On Feb 28, 2012 1:12 AM, &quot;ik&quot; &lt;<a href="mailto:idokan@gmail.com">idokan@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, Feb 27, 2012 at 12:43, guy keren &lt;<a href="mailto:guy.choo.keren@gmail.com">guy.choo.keren@gmail.com</a>&gt; wrote:<br>
&gt; On 02/27/2012 12:33 PM, ik wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; I have a program that I write that uses user-space libraries that talk<br>
&gt;&gt; with kernel space, and I use an IDE for the development and debugging.<br>
&gt;&gt;<br>
&gt;&gt; The program requires to run as super user, but I do not want to run<br>
&gt;&gt; the whole IDE itself as super user, only gdb for this specific<br>
&gt;&gt; project, but the IDE<br>
&gt;&gt; does not allow me to do something like: /usr/bin/kdesu /usr/bin/gdb ...<br>
&gt;&gt; I also do not wish to provide suid to root, and allow every one to use<br>
&gt;&gt; gdb as root.<br>
&gt;&gt;<br>
&gt;&gt; Beside executing gdb myself with sudo, how would you recommend me to<br>
&gt;&gt; elevate user privileges for gdb on such case ?<br>
&gt;<br>
&gt;<br>
&gt; a few options:<br>
&gt;<br>
&gt;<br>
&gt; 1. write a program called &quot;gdb&quot; that only your user has access to. put it in<br>
&gt; your PATH before the locatinof the real gdb. this new &quot;gdb&quot; program will be<br>
&gt; a small suid C program that runs the real gdb. if your IDE looks for gdb in<br>
&gt; the path, rather then with a full path, it will work.<br>
&gt;<br>
&gt; 2. make a second copy of the gdb binary that only your can access - and make<br>
&gt; it suid root. put it in your path before the original gdb.<br>
&gt;<br>
&gt; 3. check if your IDE is able to use the gdb client-server model. if it can -<br>
&gt; you can run your program externally using the gdb server - and make your ide<br>
&gt; use a gdb-client. i didn&#39;t check if the gdb client can run as a normal user<br>
&gt; - but assuming the communiation is done over sockets - it can work. make<br>
&gt; sure that the socket is not accessible outside your machine, and you can add<br>
&gt; firewall rules that will only allow your user to connect to the relevant<br>
&gt; socket.<br>
<br>
I&#39;m going to use gdbserver. Thank you very much guys<br>
<br>
&gt;<br>
&gt; --guy<br>
&gt;<br>
<br>
Ido<br>
<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Linux-il mailing list<br>
&gt; <a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
&gt; <a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
<br>
_______________________________________________<br>
Linux-il mailing list<br>
<a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
<a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
</blockquote></div>