script 说明:
该脚本可以对指定的系统重要文件进行监控,当文件被查看或修改后,脚本会查看最近登陆系统的用户和IP,并发邮件通知。
#!/usr/bin/perl use strict; use Mail::Sender; use Digest::SHA; my @files=('/etc/passwd', '/etc/shadow', '/var/log/wtmp'); my $last_cmd=`last -2`; while (1) { my %md5_res; my %output; my @change; foreach my $file (@files) { $md5_res{$file}=MD5_digest($file); }; while(1) { sleep 10; foreach my $file (@files) { if ($md5_res{$file} ne MD5_digest($file)) { $output{$file}="$file is changed"; }; }; if (%output) { foreach my $key (%output) { print "$output{$key}\n"; } print "$last_cmd"; last; }; }; }; sub MD5_digest { my $file=shift; my $sha=Digest::SHA->new('256'); $sha->addfile($file); my $digest=$sha->hexdigest; return "$digest"; } sub Send_mail { my($subject,$msg)=@_; my $sender=new Mail::Sender->MailMsg({ smtp => 'mail.aaa.com', from => 'neo@aaa.com', to =>'neo@gmail.com', subject => $subject, msg => $msg, auth => 'LOGIN', authid => 'neo', authpwd => '1234',} ) or die "$Mail::Sender::Error\n"; print "Mail sent ok"; }
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。