| 
 |  | 
 (view this code in a separate window) 
/*
 * dropprivs snippet
 *
 * Example C code to drop root privileges.
 *
 * Copyright 2002, Bri Hatch
 *
 * Released under the GPL.  See COPYING file
 * for more information.
 *
 */
#define bail(s) { perror(s); exit(1); }
  /* Here's the priv-dropping code. */
  /* Insert into your code where    */
  /* appropriate.                   */
  uid_t uid_cur = getuid();
  gid_t gid_cur = getgid();
  
  if ( setgid(gid_cur) < 0)
	  bail("setgid");
  if ( setuid(uid_cur) <0 )
	  bail("setuid");
  execl(" /path/to/program" ...)
	  bail("execl failed")
 |  |