|
(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")
|