#include #include #include #include #include #include #define ROOTDIR "/home/whatnot" #define CWDDIR "/foo" int main() { const int uid=271; const int gid=271; if (chroot(ROOTDIR) == -1) { printf("Failed setting new root dir.\n"); exit(1); } if (setgid(gid) == -1) { printf("Failed setting GID.\n"); exit(1); } if (setuid(uid) == -1) { printf("Failed setting UID.\n"); exit(1); } chdir(CWDDIR); if (execle("/bin/myprog", "myprog", "-s", NULL)) { printf("Failed executing program.\n"); exit(1); } return(0); }