Path: utzoo!attcan!uunet!lll-winken!ames!ucsd!sdcc6!sdcc19!sdcc15!pa1343 From: pa1343@sdcc15.ucsd.edu (pa1343) Newsgroups: comp.os.minix Subject: id.c for MINIX Keywords: give real and effective user id Message-ID: <847@sdcc15.ucsd.edu> Date: 7 Jan 89 21:51:49 GMT Organization: University of California, San Diego Lines: 36 8<-----8<-----8<-----8<-----CUT HERE----->8----->8----->8----->8 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ /* ----- id.c ----- */ /* id - get real and effective user id and group id */ /* Author: John J. Marco */ /* pa1343@sdcc15.ucsd.edu */ /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ #include "stdio.h" #include "pwd.h" #include "grp.h" main () { struct passwd *pwd; struct passwd *getpwuid (); struct group *grp; struct group *getgrgid (); int uid, gid, euid, egid; uid = getuid(); gid = getgid(); euid = geteuid(); egid = getegid(); if ((pwd = getpwuid(uid)) == 0) printf("%s%d%s","uid=",uid," "); else printf("%s%d%s%s%s","uid=",uid,"(",pwd->pw_name,") "); if ((grp = getgrgid(gid)) == 0) printf("%s%d%s","gid=",gid," "); else printf("%s%d%s%s%s","gid=",gid,"(",grp->name,") "); if (((pwd = getpwuid(euid)) != 0) && (uid != euid)) printf("%s%d%s%s%s","euid=",euid,"(",pwd->pw_name,") "); else if (uid != euid) printf("%s%d%s","euid=",euid," "); if (((grp = getgrgid(egid)) != 0) && (gid != egid)) printf("%s%d%s%s%s","egid=",egid,"(",grp->name,") "); else if (gid != egid) printf("%s%d%s","egid=",egid," "); printf("\n"); } /*============= id.c ENDS =============================================*/