基于bsd watch监控用户操作记录
前几日看到bsd下的watch命令
,可以用他监控用户的操作记录,感觉非常棒,突发灵感,也闲的无聊,准备利用他监控系统
用户什么登陆,登陆后都做了什么,
设想如下:
1,自动监测用户,发现有新用户进来,获取他的tty ,开启watch 去监控
2.用户退出时,监控停止,监控的数据插入数据库
3,通过前台页面,调用watch的监控记录
一,监控端服务器
脚本
#cat checklogin.pl
代码:
#!/usr/bin/perl
system "killall -9 watch";
open (AA,">/usr/zzxia/log");
@ttl="";
AAA:
@wda=`who`;
for ($i=0;$i<@wda;$i++) {
chomp ($wda[$i]);
@str=split(/\s+/,$wda[$i]);
$datestr=`date '+%Y-%m-%d %T'`;
system "echo 'use userlog;' > /usr/zzxia/$str[1].log1";
system
qq ~ echo "INSERT INTO userip6
VALUES('$str[0]','$str[5]','$str[2]-$str[3]-$str[4]','$datestr','">>
/usr/zzxia/$str[1].log1~;
chomp ($stty=$str[1]);
print AA "who value $stty\n";
@watchs1=`ps -ax | grep watch | grep -v grep `;
$tta=0;
for ($j=0;$j<@watchs1;$j++){
chomp ($watchs1[$j]);
@watchs=split(/\s+/,$watchs1[$j]);
chomp ($ws=$watchs[5]);
print AA "watch is $ws\n";
if ($stty eq $ws) {
$tta=1;
}
}
if ( $tta==0 ) {
system "/usr/sbin/watch $stty >/usr/zzxia/$stty.log2& ";
$ppid1=`ps -ax | grep $stty | grep -v ssh
d |grep -v grep `;
@ppid2=split (/\s+/,$ppid1);
chomp ($ppid=$ppid2[0]);
if ($ppid){
print AA "ppid is $ppid \n";
push (@ttl,"$stty,$ppid");
}
}
}
@ttl2="";
print AA "ttl is @ttl\n";
for ($l=1;$l<@ttl;$l++) {
@ttls=split(/,/,$ttl[$l]);
chomp ($kpid=$ttls[1]);
chomp ($ktty=$ttls[0]);
$sp=`ps -aux |grep $kpid |grep -v grep`;
if ( !$sp)
{
system "cat /usr/zzxia/$ktty.log1 /usr/zzxia/$ktty.log2>/usr/zzxia/$ktty.log3 ";
system qq~echo "');">>/usr/zzxia/$ktty.log3~;
system "rm /usr/zzxia/$ktty.log1 /usr/zzxia/$ktty.log2 ";
print AA "mysql
-h 192.168.0.1 -utest -ptest </usr/zzxia/$ktty.log3\n";
`mysql -h 192.168.0.1 -utest -ptest </usr/zzxia/$ktty.log3`;
system "rm /usr/zzxia/$ktty.log3";
}else {
push (@ttl2,"$ktty,$kpid");
}
}
@ttl=@ttl2;
sleep(3);
goto AAA;
动行脚本checklogin.pl & 以后台的方式 运行,运行后会在/usr/zzxia/目录下生成以tty开头的临时份件,程序运行状态可查看log文件,
前台界面好下:
登陆情况:
用户操作记录
分享到:
相关推荐
基于BSD系统的工控设备信息收集测试程序
《4.4BSD操作系统设计与实现》是一本深入解析Unix操作系统的经典著作,它详细阐述了4.4BSD这一重要Unix分支的设计理念和实现机制。4.4BSD是由伯克利加州大学开发的一个Unix变种,它在1990年代初发布,对后来的操作...
OPoperator open项目基于BSD开源协议任何个
本模块主要关注的是如何在Cocos2d-x环境中使用基于BSD Socket的网络通信技术。下面将详细阐述相关知识点。 首先,我们来了解**BSD Socket**。BSD Socket是Berkeley Software Distribution(BSD)系统中引入的一种...
OpenCV(开源计算机视觉库)是一个强大的视觉处理工具,它以BSD许可证的形式发布,这意味着它对用户友好,允许自由使用、修改和分发代码。这个跨平台的库为开发者提供了丰富的功能,支持在多种操作系统上运行,包括...
6. **日志记录与审计**:锐起客户端会记录用户操作和系统事件,便于进行事后审计和问题排查,有助于企业遵守合规性要求。 7. **性能优化**:针对企业环境,锐起3.1 BSD客户端进行了性能优化,确保在不影响员工正常...
BSD68和BSD100是两个在计算机视觉和图像处理领域中广泛使用的数据集,尤其在深度学习的训练和评估中占据重要地位。这两个数据集由加利福尼亚大学伯克利分校的研究人员创建,因此通常被称为Berkeley Segmentation ...
FabBSD是一种专为计算机数字控制(CNC)和机器控制应用设计的类UNIX操作系统,它基于历史悠久的4.4BSD内核。4.4BSD是Berkeley Software Distribution(BSD)家族的一个版本,这个家族对现代操作系统,特别是Unix-...
首先,从许可证方面看,Linux 操作系统是基于 GPL 许可证 授权下的,而 BSD 系统的许可证限制要少得多,允许二进制包成为唯一的发行源。GPL 许可证的目的是防止二进制包成为唯一的软件发行源,而 BSD 许可证并不要求...
4. **权限管理**:锐起BSD提供了用户权限管理机制,可以根据需要设置不同用户的访问权限,包括读取、写入、删除等操作,保障数据安全。 5. **备份与恢复**:内置的备份功能可以帮助用户定期或按需备份重要文件,...
86BSD是一个基于UNIX操作系统的变体,专为Intel x86架构设计。在这个名为"86BSD代码.rar"的压缩包中,我们主要关注的是86BSD系统下的压力传感器IIC驱动代码以及相关的说明文档。这个压缩包的资源对于理解和开发基于...
这是因为许多概念和技术在不同的操作系统之间是相通的,尤其是对于基于类Unix内核的操作系统。 #### 6. **学习资源和社区参与** - 译者sniper提到,本书的翻译和修订工作是开源社区共同努力的结果。这表明,在学习...
OP(operator_&_open)项目基于BSD开源协议,任何个人和商业均可免费使用.主要特点_op
《4.4 BSD操作系统的设计与实现》一书深入探讨了4.4 BSD版本的细节,这一版本在操作系统发展史上占有重要地位。以下是基于文件提供的信息所提炼的关键知识点: ### 一、历史与目标 #### 1.1 UNIX系统的历史 - **...
这个版本的BSD操作系统为后来的FreeBSD、OpenBSD等开源操作系统提供了重要的技术基础,对于理解现代网络工作原理至关重要。 首先,4.4BSD-Lite的TCP/IP协议栈是其核心组件之一,它负责处理所有网络通信,包括...
这个压缩文件代表了对4.4BSD Lite操作系统版本的源码分发,它是Berkeley Software Distribution (BSD)家族的重要一员,体现了BSD精神的精髓。 BSD操作系统是UNIX系统的一个分支,源于加利福尼亚大学伯克利分校。它...
车载监控设备AI系统ADAS+DSM+BSD 在本文中,我们将详细介绍车载监控设备AI系统ADAS+DSM+BSD的技术参数和功能特点。这款设备是一款高性能的车载监控系统,具有先进的人工智能技术,能够实时监控车辆的驾驶行为,并...
### BSD Packet Filter (BPF): 新架构下的用户级数据包捕获 #### 概述 本文档探讨了**BSD Packet Filter (BPF)**——一种新型的用户级数据包捕获架构,该架构由Steven McCanne和Van Jacobson在1992年提出,并计划...
标题 "BSD+Squid+DansGuardian" 涉及的是一个基于BSD操作系统,结合Squid代理服务器和DansGuardian内容过滤系统的网络管理解决方案。这个项目可能旨在为公司的网络环境提供安全、高效的互联网访问控制。 BSD...
BSD(Berkeley Software Distribution)是一类基于UNIX的开源操作系统,以其自由、开放的源代码政策而闻名。这个标题所指的“BSD游戏的源代码”正是来自于这样的系统,包含了BSD系统中游戏部分的原始编程语言脚本。...