一、代码
#include<stdio.h>
#include<stdlib.h>
#include<proc/readproc.h>
int main()
{struct PROCTAB *pt;struct proc_t *p;char *cmd;pt=malloc(sizeof(struct PROCTAB));p=malloc(sizeof(struct proc_t));pt=openproc(0x0028);while(readproc(pt,p)!=NULL){if(p->state=='R'){cmd=p->cmd;if(cmd[0]=='w' && cmd[1]=='h' && cmd[2]=='o' && cmd[3]=='a' && cmd[4]=='m' && cmd[5]=='i' && cmd[6]=='\0'){printf("%s\n",p->ruser);return 0;}}}return 0;
}
二、在用户1中验证程序
在用户1中编译代码,并运行,与系统自带的whoami进行比较
三、在root用户中验证程序
在root用户中运行程序,与系统自带的whoami进行比较
四 、在用户2中验证程序
将程序拷贝到用户2中
在用户2中运行程序,与系统自带的whoami进行比较