加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 系统文件监控脚本

发布时间:2020-12-16 00:19:21 所属栏目:大数据 来源:网络整理
导读:script 说明: 该脚本可以对指定的系统重要文件进行监控,当文件被查看或修改后,脚本会查看最近登陆系统的用户和IP,并发邮件通知。 #!/usr/bin/perl? use?strict;? use?Mail::Sender;? use?Digest::SHA;? my?@files=( '/etc/passwd' ,? '/etc/shadow' ,? '/

script 说明:

该脚本可以对指定的系统重要文件进行监控,当文件被查看或修改后,脚本会查看最近登陆系统的用户和IP,并发邮件通知。


 
 
  1. #!/usr/bin/perl?
  2. use?strict;?
  3. use?Mail::Sender;?
  4. use?Digest::SHA;?
  5. my?@files=('/etc/passwd',?'/etc/shadow',?'/var/log/wtmp');?
  6. my?$last_cmd=`last?-2`;?
  7. ?
  8. while?(1)?{?
  9. ????????my?%md5_res;?
  10. ????????my?%output;?
  11. ????????my?@change;?
  12. ????????foreach?my?$file?(@files)?{?
  13. ????????????????$md5_res{$file}=MD5_digest($file);?
  14. ????????};?
  15. ????????????????while(1)?{?
  16. ????????????????????????sleep?10;?
  17. ????????????????????????foreach?my?$file?(@files)?{?
  18. ????????????????????????????????if?($md5_res{$file}?ne?MD5_digest($file))?{?
  19. ????????????????????????????????????????$output{$file}="$file?is?changed";?
  20. ?
  21. ????????????????????????????????};?
  22. ????????????????????????};?
  23. ????????????????????????if?(%output)?{?
  24. ????????????????????????????????foreach?my?$key?(%output)?{?
  25. ???????????????????????????????????????print?"$output{$key}n";?
  26. ?
  27. ????????????????????????????????}?
  28. ????????????????????????????????print?"$last_cmd";?
  29. ????????????????????????????????last;?
  30. ????????????????????????};?
  31. ????????????????};?
  32. };?
  33. ?
  34. sub?MD5_digest?{?
  35. ????????my?$file=shift;?
  36. ????????my?$sha=Digest::SHA->new('256');?
  37. ????????$sha->addfile($file);?
  38. ????????my?$digest=$sha->hexdigest;?
  39. ????????return?"$digest";?
  40. }?
  41. ?
  42. ?
  43. ?
  44. sub?Send_mail?{?
  45. ????????my($subject,$msg)=@_;?
  46. ????????my?$sender=new?Mail::Sender->MailMsg({?
  47. ?????????smtp?=>?'mail.aaa.com',?
  48. ?????????from?=>?'neo@aaa.com',?
  49. ?????????to?=>'neo@gmail.com',?
  50. ?????????subject?=>?$subject,?
  51. ?????????msg?=>?$msg,?
  52. ?????????auth?=>?'LOGIN',?
  53. ?????????authid?=>?'neo',?
  54. ?????????authpwd?=>?'1234',}?
  55. ????????)?or?die?"$Mail::Sender::Errorn";?
  56. ????????print?"Mail?sent?ok";?
  57. }?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读