Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1438580
  • 博文数量: 704
  • 博客积分: 10140
  • 博客等级: 上将
  • 技术积分: 6230
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-15 20:41
文章分类

全部博文(704)

文章存档

2013年(1)

2012年(16)

2011年(536)

2010年(151)

分类: C/C++

2011-06-18 00:34:30

在linux系统上,应用系统会提供好多自定义API给别的登录用户来执行,为了保证系统的操作安全,有必要记录下每个登陆进来用户的信息,用如下方法能够较精确的提取这类信息:
  1. #include<stdio.h>
  2. #include<utmp.h>
  3. int main()
  4. {
  5.         char *s,*c;
  6.         struct utmp *u;
  7.         int i;
  8.         char sztime[20] = {0};
  9.        c=getlogin();
  10.        setutent();
  11.        u=getutent();
  12.        while(!= NULL)
  13.        {
  14.           if(u->ut_type==&& strcmp(u->ut_user,c)==0)
  15.           {
  16.                printf("%-12s",u->ut_user);
  17.                printf("%-9s",u->ut_line);
  18.                s=ctime(&u->ut_time);
  19.                sprintf (sztime, s);
  20.                printf("(%s)\t",u->ut_host);
  21.                printf ("%s", sztime);
  22.           }
  23.           u=getutent();
  24.        }
  25. }

 

 

  1. $ gcc test.-o test_app

  2. $./test_app 
  3. cme pts/(192.168.1.103) Fri Jun 10 19:36:18 2011

 

阅读(470) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~