- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
监视用户操作
Shell脚本:实时监控用户操作??
2012-03-31 13:28:54|??分类: rhel_ssh |??标签: |字号大中小?订阅
?
群里面有个朋友提了这样的两个问题,1、如何看到系统中的用户什么时间对密码进行了修改2、如何知道某个用户,什么时间登录过系统,什么时间退出系统,在这段时间做了哪些操作。第一个脚本是写出来了,但是通过history来监控的,可是这个history又不是实时的,只有在用户退出后才记录内容,而且,这个文件用户可以对其手术,所以不太完美。关于第二个问题,想不到一个可行的办法,就在网上找资料,无意中发现一个好东东——用scritp可以记录用户的操作,相当于录像一样。是不是很适合我们开头的两个问题的解决方案。于是就有了下面的文章。
分析方案
1、我们要监控用户的情况,当然root用户就排除在外了,毕竟这个是我们自己。2、系统的用户无需监控3、所监控的用户操作写入一个日志4、写入系统中的profile5、测试效果
实施方案
我们要在系统的profile文件中增加下面的内容,#记录所有用户的操作记录,排除系统中的用户和root用户if [ $UID -ge 500 ]; thenexec /usr/bin/script -a -f -q /var/log/$USER-$UID-`date +%Y%m%d%H%M`.logfi
这样,只要有用户登陆到你的系统,那么系统就会自动对其操作进行记录,用户的任何一个操作都记录到了/var/log/用户名-用户ID-时间.log中了。这个记录文件大家可以自己设置。关于记录的文件内容,可以用下面三种方法来查看cat?yufei-500-201104141312.loghead -n -1 yufei-500-201104141312.logtail -n +1 yufei-500-201104141312.log
当然我们可以通过|grep来过滤我们想要的内容注意:查看上面的LOG,不能用vi more less这三个命令来查看,特别是more和less你什么也看不到。vi看到的里面有很多的乱码。
上面的方式存在一个缺点,就是不能记录到交互的内容(实际上是记录了,只是我们看不到),那么我们可以通过script的scriptreplay对操作进行回放,这样,就对用户的操作一览无遗了。如果要使用scriptreplay的回放功能,需要跟时间结合,所以需要使用-t进行记录时间。vi /etc/profile修改为下面的内容:if [ $UID -ge 500 ]; thenexec /usr/bin/script -t 2/var/log/$USER-$UID-`date +%Y%m%d%H%M`.date? -a -f -q /var/log/$USER-$UID-`date +%Y%m%d%H%M`.logfi
这时候就保存了时间和记录文件,我们就可以通过scriptreplay来查看用户的一举一动了。scriptreplay的格式是scriptreplay 时间文件 记录文件如scriptreplay yufei-500-201104141336.date yufei-500-201104141336.log
注:script和scriptreplay都是由util-linux-ng软件包提供的。
延伸阅读
?
通过这个案例,大家是不是有了这样一个想法,就是我可以通过这个script来实时(script -f)写入一个文件,然后让其他用户都来tail -f这个文件,是不是就达到了一个同步教学的目的了!!哈哈,搞开发的,有兴趣的,可以开发个在线教学系统出来了。然后就可以^-^哈哈,你懂的……当然,我们也可以把他当作Linux系统下的录像工具,用这个工具录像也是一个不错的选择啊!
最后想说一句Shell脚本:只有想不到,没有做不到!
?/search/?keyword=util-linux-ng
util-linux-ng-2.17.2-12.4.el6.i686.rpm
/centos-6-rhel-6/centos-rhel-x86_64/util-linux-ng-2.17.2-12.4.el6.x86_64.rpm.html
源码:util-linux-ng/? ? ??/repo/pkgs/util-linux-ng/
? ? ? ? ? ? util-linux/?? ? ? ? ? ? ? ? ?/pub/linux/utils/util-linux/
script真是一个神奇的小家伙,别看它小不起眼,可是却足够的好玩。script能够将终端的会话过程录制下来,然后使用scriptrepla
文档评论(0)