/* * Sample program for setuid systme call - No.23 * * setuid(2) - set user identity * * Synopsis * #include * #include * * int setuid(uid_t uid); */ #include #include #include main(int argc, char *argv[]) { FILE *fp; int c; if (argc == 2 && argv[1][0] == 's') setuid(500); /* need to replace 500 with real uid */ if ((fp = fopen("/etc/shadow", "r")) != NULL) { while((c = getc(fp)) != EOF) putchar(c); fclose(fp); } else { error(0, errno, "%s", "can't open file"); } exit(0); }