On 15 March 2015 at 15:48, Bhaskar V. Karambelkar wrote:
| I need to call a 3rd party library function with root privileges.
| I'm not sure how to accomplish this from within Rcpp.

I dont think you can ...
 
| If I was writing an executable, I could call seteuid to elevate privileges
| before calling the external function, and set the suid bit on the executable.
| But given that this needs to be done from within a Rcpp Library, I'm not sure
| how to do this. The last thing I want to do is run R as root or set suid on 
the
| R binary.

... unless you run R with suid bits, which you shouldn't as you rightly point 
out.

Rcpp is standard C/C++ code. So the wisdom of 'man seteuid' still applies:

   seteuid() sets the effective user ID of the calling process.  Unprivileged
   user processes may only set the effective user ID to the real user ID, the
   effective user ID or the saved set-user-ID.
 
| Any help / pointers would be greatly appreciated.

You may have to call a small self-contained executable which may then have a
suid bit set.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to