在linux系统上,应用系统会提供好多自定义API给别的登录用户来执行,为了保证系统的操作安全,有必要记录下每个登陆进来用户的信息,用如下方法能够较精确的提取这类信息:
- #include<stdio.h>
- #include<utmp.h>
- int main()
- {
- char *s,*c;
- struct utmp *u;
- int i;
- char sztime[20] = {0};
- c=getlogin();
- setutent();
- u=getutent();
- while(u != NULL)
- {
- if(u->ut_type==7 && strcmp(u->ut_user,c)==0)
- {
- printf("%-12s",u->ut_user);
- printf("%-9s",u->ut_line);
- s=ctime(&u->ut_time);
- sprintf (sztime, s);
- printf("(%s)\t",u->ut_host);
- printf ("%s", sztime);
- }
- u=getutent();
- }
- }
- $ gcc test.c -o test_app
- $./test_app
- cme pts/0 (192.168.1.103) Fri Jun 10 19:36:18 2011
阅读(470) | 评论(0) | 转发(0) |