设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 15071|回复: 36

基于bsd watch监控用户操作记录   [复制链接]

Rank: 8Rank: 8

签到
0
注册时间
2008-5-26
最后登录
2011-10-8
在线时间
36 小时
阅读权限
150
积分
317
帖子
88
主题
33
精华
5
UID
7

LT粉丝

发表于 2008-6-4 14:03:39 |显示全部楼层
作者: zzxia   http://www.linuxtone.org (IT运维专家网)
欢迎转载,转载请注明出处! http://bbs.linuxtone.org/thread-261-1-1.html

前几日看到bsd下的watch命令,可以用他监控用户的操作记录,感觉非常棒,突发灵感,也闲的无聊,准备利用他监控系统用户什么登陆,登陆后都做了什么,
设想如下:
1,自动监测用户,发现有新用户进来,获取他的tty ,开启watch 去监控
2.用户退出时,监控停止,监控的数据插入数据库
3,通过前台页面,调用watch的监控记录

一,监控端服务器脚本
#cat checklogin.pl
  1. #!/usr/bin/perl
  2. system "killall -9 watch";
  3. open (AA,">/usr/zzxia/log");
  4. @ttl="";
  5. AAA:
  6. @wda=`who`;
  7. for ($i=0;$i<@wda;$i++) {
  8. chomp ($wda[$i]);
  9. @str=split(/\s+/,$wda[$i]);
  10. $datestr=`date '+%Y-%m-%d %T'`;
  11. system "echo 'use userlog;' > /usr/zzxia/$str[1].log1";
  12. system qq ~ echo "INSERT INTO userip6 VALUES('$str[0]','$str[5]','$str[2]-$str[3]-$str[4]','$datestr','">> /usr/zzxia/$str[1].log1~;
  13. chomp ($stty=$str[1]);
  14. print AA "who value $stty\n";
  15. @watchs1=`ps -ax | grep watch | grep -v grep `;
  16. $tta=0;
  17. for ($j=0;$j<@watchs1;$j++){
  18. chomp ($watchs1[$j]);
  19. @watchs=split(/\s+/,$watchs1[$j]);
  20. chomp ($ws=$watchs[5]);
  21. print AA "watch is $ws\n";
  22. if ($stty eq $ws) {
  23. $tta=1;
  24. }
  25. }
  26. if ( $tta==0 ) {
  27. system "/usr/sbin/watch $stty >/usr/zzxia/$stty.log2& ";
  28. $ppid1=`ps -ax | grep $stty | grep -v sshd |grep -v grep `;
  29. @ppid2=split (/\s+/,$ppid1);
  30. chomp ($ppid=$ppid2[0]);
  31. if ($ppid){
  32. print  AA  "ppid is $ppid \n";
  33. push (@ttl,"$stty,$ppid");
  34. }
  35. }
  36. }

  37. @ttl2="";
  38. print AA "ttl is @ttl\n";
  39. for ($l=1;$l<@ttl;$l++) {
  40. @ttls=split(/,/,$ttl[$l]);
  41. chomp ($kpid=$ttls[1]);
  42. chomp ($ktty=$ttls[0]);
  43. $sp=`ps -aux |grep $kpid |grep -v grep`;
  44. if ( !$sp)
  45. {
  46. system "cat /usr/zzxia/$ktty.log1 /usr/zzxia/$ktty.log2>/usr/zzxia/$ktty.log3 ";
  47. system qq~echo "');">>/usr/zzxia/$ktty.log3~;
  48. system "rm /usr/zzxia/$ktty.log1 /usr/zzxia/$ktty.log2 ";
  49. print  AA   "mysql -h 192.168.0.1 -utest -ptest </usr/zzxia/$ktty.log3\n";
  50. `mysql -h 192.168.0.1 -utest -ptest </usr/zzxia/$ktty.log3`;
  51. system "rm /usr/zzxia/$ktty.log3";
  52. }else {
  53. push (@ttl2,"$ktty,$kpid");
  54. }
  55. }
  56. @ttl=@ttl2;
  57. sleep(3);
  58. goto AAA;
复制代码
动行脚本checklogin.pl &  以后台的方式 运行,运行后会在/usr/zzxia/目录下生成以tty开头的临时份件,程序运行状态可查看log文件,

前台界面 可查看附件

[ 本帖最后由 zzxia 于 2008-6-4 14:33 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 2 人评分积分 收起 理由
守住每一天 + 12 精品文章
linuxtone + 20 原创内容!精品内容!

总评分: 积分 + 32   查看全部评分

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2008-6-4 14:13:19 |显示全部楼层
非常感谢分享这么好的原则作品,做为优秀的系统管理人员应该在日常的生活中尽量去用程序去改善自己的工作负担!本文对系统管理人员编译监控程序提供了一定的思路!期待作者更好的作品,期待linux下也能完成同样的监控工作!大家可以用zzxia 提供的思路编写自己的监控系统,供大家一起学习分享!
感谢大家对linuxtone的支持!

使用道具 举报

Rank: 1

注册时间
2008-7-25
最后登录
2011-6-19
在线时间
3 小时
阅读权限
10
积分
11
帖子
4
主题
1
精华
0
UID
167
发表于 2008-7-25 16:58:02 |显示全部楼层
怎么样能过web的方式来查看?  好像没有完一样 呵呵  

使用道具 举报

Rank: 1

注册时间
2008-7-25
最后登录
2011-6-19
在线时间
3 小时
阅读权限
10
积分
11
帖子
4
主题
1
精华
0
UID
167
发表于 2008-8-2 11:47:13 |显示全部楼层
程序好像还有点问题啊,就是pid不得少于1000  少于1000就运行出错

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-5-30
最后登录
2010-5-6
在线时间
52 小时
阅读权限
100
积分
22
帖子
44
主题
1
精华
0
UID
30
发表于 2008-8-3 16:58:36 |显示全部楼层
程序写得比较好的,都去做开发了呀,

使用道具 举报

Rank: 1

注册时间
2008-7-25
最后登录
2011-6-19
在线时间
3 小时
阅读权限
10
积分
11
帖子
4
主题
1
精华
0
UID
167
发表于 2008-8-7 16:10:12 |显示全部楼层
是啊  不过运维也有会写程序 的高手啦

使用道具 举报

注册时间
2008-9-22
最后登录
2012-2-1
在线时间
0 小时
阅读权限
0
积分
3
帖子
6
主题
0
精华
0
UID
316
发表于 2008-9-22 22:41:47 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

使用道具 举报

Rank: 1

注册时间
2008-6-17
最后登录
2010-12-16
在线时间
6 小时
阅读权限
10
积分
12
帖子
8
主题
1
精华
0
UID
81
发表于 2008-9-24 15:22:30 |显示全部楼层
呵呵!猪猪,这个你也玩

使用道具 举报

Rank: 1

注册时间
2009-2-10
最后登录
2009-5-13
在线时间
1 小时
阅读权限
10
积分
1
帖子
2
主题
0
精华
0
UID
1362
发表于 2009-2-12 16:36:13 |显示全部楼层
路过,拜谢

使用道具 举报

Rank: 1

注册时间
2009-4-16
最后登录
2010-6-12
在线时间
13 小时
阅读权限
10
积分
30
帖子
51
主题
0
精华
0
UID
2509
发表于 2009-4-16 13:13:02 |显示全部楼层
写得不错啊

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-7-6
最后登录
2011-11-29
在线时间
23 小时
阅读权限
100
积分
435
帖子
48
主题
19
精华
1
UID
127
发表于 2009-4-16 17:58:02 |显示全部楼层
不错

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-5-4
最后登录
2012-2-3
在线时间
51 小时
阅读权限
70
积分
1944
帖子
235
主题
9
精华
0
UID
2847
发表于 2009-6-27 14:41:15 |显示全部楼层
谢谢。收下了,学了

使用道具 举报

Rank: 3Rank: 3

注册时间
2009-6-15
最后登录
2012-1-4
在线时间
15 小时
阅读权限
30
积分
232
帖子
4
主题
0
精华
0
UID
3613
发表于 2009-12-3 16:32:59 |显示全部楼层
不够详细!!!!!
没有具体步骤。。。
加油!!!期待完整。

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2012-2-3
在线时间
619 小时
阅读权限
200
积分
9973
帖子
1252
主题
174
精华
11
UID
31
发表于 2009-12-3 22:14:11 |显示全部楼层
太精彩了。顶
<-sina_sign,1054764633,7->

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-10-23
最后登录
2012-2-4
在线时间
86 小时
阅读权限
90
积分
6486
帖子
156
主题
8
精华
0
UID
6120
发表于 2009-12-11 17:13:18 |显示全部楼层
修改一下成为linux用户的优秀管理工具

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-2-4 19:04 , Processed in 0.051596 second(s), 13 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部