Path: blob/master/external/source/ipwn/cmd_privs.c
19500 views
/*1* Copyright (c) 2004-2005 vlad902 <vlad902 [at] gmail.com>2* This file is part of the Metasploit Framework.3* $Revision$4*/56#include <sys/types.h>7#include <stdlib.h>8#include <unistd.h>9#include <string.h>10#include <errno.h>11#include <stdio.h>12#include <pwd.h>13#include <grp.h>1415#include "cmd.h"161718void cmd_getid(int argc, char * argv[])19{20struct passwd * pwd;21struct group * grp;2223printf("uid=%u", getuid());24if((pwd = getpwuid(getuid())) != NULL)25printf("(%s)", pwd->pw_name);2627printf(" gid=%u", getgid());28if((grp = getgrgid(getgid())) != NULL)29printf("(%s)", grp->gr_name);3031if(geteuid() != getuid())32{33printf(" euid=%u", geteuid());34if((pwd = getpwuid(geteuid())) != NULL)35printf("(%s)", pwd->pw_name);36}37if(getegid() != getgid())38{39printf(" egid=%u", getegid());40if((grp = getgrgid(getegid())) != NULL)41printf("(%s)", grp->gr_name);42}4344printf("\n");45}4647void cmd_setuid(int argc, char * argv[])48{49if(setuid(atoi(argv[1])) == -1)50perror("setuid");51}5253void cmd_setgid(int argc, char * argv[])54{55if(setgid(atoi(argv[1])) == -1)56perror("setgid");57}585960