diff options
Diffstat (limited to 'toolbox/id.c')
-rw-r--r-- | toolbox/id.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/toolbox/id.c b/toolbox/id.c deleted file mode 100644 index 8ec79c1..0000000 --- a/toolbox/id.c +++ /dev/null @@ -1,57 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> -#include <pwd.h> -#include <grp.h> -#include <selinux/selinux.h> - -static void print_uid(uid_t uid) -{ - struct passwd *pw = getpwuid(uid); - - if (pw) { - printf("%d(%s)", uid, pw->pw_name); - } else { - printf("%d",uid); - } -} - -static void print_gid(gid_t gid) -{ - struct group *gr = getgrgid(gid); - if (gr) { - printf("%d(%s)", gid, gr->gr_name); - } else { - printf("%d",gid); - } -} - -int id_main(int argc, char **argv) -{ - gid_t list[64]; - int n, max; - char *secctx; - - max = getgroups(64, list); - if (max < 0) max = 0; - - printf("uid="); - print_uid(getuid()); - printf(" gid="); - print_gid(getgid()); - if (max) { - printf(" groups="); - print_gid(list[0]); - for(n = 1; n < max; n++) { - printf(","); - print_gid(list[n]); - } - } - if (getcon(&secctx) == 0) { - printf(" context=%s", secctx); - free(secctx); - } - printf("\n"); - return 0; -} |