免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1909 | 回复: 9
打印 上一主题 下一主题

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-23 14:42 |只看该作者 |倒序浏览
各位shell高手:
    大家好。我是公司的网络管理员,在linux+qmail配置的邮件服务器,由于近来网络天空和震荡波等病毒发作,公司邮件服务器每天收到数百封甚至更多的带病毒的垃圾邮件,我在linux系统上安装了rav8瑞星for linux的病毒防火墙,可以把邮件中的病毒查找出来,但是在线查杀的时候会报有很多病毒文件删除失败,我只有手工删除.但是数量太大,每天又不停的在收新的病毒邮件,所以希望能够使用shell脚本,让它自动运行,删除这些病毒文件.瑞星病毒防火墙扫描完毕后生成一个文件,里面有这些病毒文件的绝对路径,已经文件名和感染的病毒名称,
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085285893.10636.newmail.ppcomm.com,S=422
93->(part0004:document_all02c.zip)->data.rtf
                     .scr       Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085285904.10664.newmail.ppcomm.com,S=423
08->(part0004:list.zip)->data.rtf
          .scr  Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085285951.10679.newmail.ppcomm.com,S=422
74->(part0004:msg.zip)->document.txt
     .exe       Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085286875.10851.newmail.ppcomm.com,S=423
76->(part0004:text.zip)->data.rtf
          .scr  Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085287395.10914.newmail.ppcomm.com,S=424
41->(part0004:document09_20040503014744.18780.qmail.zip)->data.rtf
                                           .scr Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085288871.11115.newmail.ppcomm.com,S=429
60->(part0003->(IFRAME0000)   Infected: HTML/IFrame_Exploit*
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085288871.11115.newmail.ppcomm.com,S=429
60->(part0004:message.scr)      Infected: Win32/Netsky.P@mm
/home/vpopmail/domains/ppcomm.com/postmaster/Maildir/new/1085288882.11118.newmail.ppcomm.com,S=429
90->(part0003->(IFRAME0000)   Infected: HTML/IFrame_Exploit*
如上所示,这只是postmaster用户邮件目录中感染的病毒例子,还有很多其他用户也有.但是这些病毒邮件夹杂在正常的工作邮件中间,所以不能cd $HOME/;rm *,手工删除实在太痛苦.但是不管吧,用户又会问,为什么老收这些病毒邮件.我对shell编程不熟,所以想请各位高手帮忙写个脚本解决下这个问题,不胜感激!

论坛徽章:
0
2 [报告]
发表于 2004-05-23 15:02 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

  1. sed 's/^/rm /' 扫描生成的文件 |sh
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-05-23 15:05 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

请说清楚一点。删除那些文件。你上面写的例子中要删除的文件名请列一下,以及它根据什么条件得到。

论坛徽章:
0
4 [报告]
发表于 2004-05-23 17:59 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

[quote]原帖由 "随风漂"]请说清楚一点。删除那些文件。你上面写的例子中要删除的文件名请列一下,以及它根据什么条件得到。[/quote 发表:

/home/vpopmail/domains/abcomm.com/postmaster/Maildir/new/1085285893.10636.newmail.abcomm.com,S=422
93->(part0004:document_all02c.zip)->data.rtf
.scr Infected: Win32/Netsky.P@mm
比如上面这个/home/vpopmail/domains/abcomm.com/postmaster/Maildir/new/1085285893.10636.newmail.abcomm.com,S=42293就是路径/home/vpopmail/domains/abcomm.com/postmaster/Maildir/new及文件名1085285893.10636.newmail.abcomm.com,S=42293,其它的邮件也都是这种格式,前面的10位数字以1开头,点后面是4~5位的数字,newmail.abcomm.com,S=都是一样的,就是=后面的数字不一样,再后面就是一些说明附件中是什么病毒的字符没有什么用的.这些信息都是病毒扫描程序自动生成的。

论坛徽章:
0
5 [报告]
发表于 2004-05-23 18:01 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

谢谢老大了,给了我很好的启发,由于每个文件名后面都还有一些关于病毒啊附件的字符,所以只是加rm会报找不到文件和文件夹,所以我自己写了个脚本,请各位帮我看看行不行,我没学过编程,以前也从没写过脚本,所以怕写出来的东西有问题,要是把公司的邮件给删没了我就死得大了.呵呵。1.txt是病毒扫描程序自动生成的一个文件,里面的内容就是我上面贴的一样。
cat 1.txt |sed 's/-/ /g' >2.txt
if [ $? -eq 0 ]
then
echo "success to add blank!"
else
exit1
fi
cat 2.txt |awk '{print $1 }' >3.txt
if [ $? -eq 0 ]
then
echo "success to remove last!"
else
exit2
fi
cat 3.txt |sed 's/^/rm /g' >4.txt
if [ $? -eq 0 ]
then
echo "success to add rm!"
else
exit3
fi
cat 4.txt |sh 2>5.txt
if [ $? -eq 0 ]
then
echo "rm ok!"
else
exit4
fi

论坛徽章:
0
6 [报告]
发表于 2004-05-23 18:09 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

我在sh -n abc.sh的时候,-n参数是读取命令但不执行,它是把命令读了一遍吗,有什么用呢,我使用-x参数的时候,虽然是跟踪,但是命令是执行了的,我想问一下,有没有只是模拟执行,显示一下执行后的效果的参数.我这是为了保险起见,不知道有没有什么方法可以实现?
bsh,于是系统启动之。在启动或执行(包括下面我们要讲 的shell程序--脚本)过程中可以使用以下一些参数,我们一一说明:
  -a 将所有变量输出 ***
  -c "string"从string中读取命令 ***
  -e 使用非交互式模式
  -f 禁止shell文件名产生  ***
  -h 定义  ***
  -i 交互式模式
  -k 为命令的执行设置选项
  -n 读取命令但不执行  ***
  -r 受限模式  ***
  -s 命令从标准输入读取
  -t 执行一命令,然后退出shell
  -u 在替换时,使用未设置的变量将会出错
  -v 显示shell的输入行
  -x 跟踪模式,显示执行的命令
带*号的能不能举些例子,讲解一下?辛苦了.呵呵。

论坛徽章:
0
7 [报告]
发表于 2004-05-23 18:17 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

你要 安装clamav 和 Qmail-Scaner 就没事儿了,会自动把所有病毒邮件隔离的。

论坛徽章:
0
8 [报告]
发表于 2004-05-23 22:53 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

我去找来装装看.呵呵。

论坛徽章:
0
9 [报告]
发表于 2004-05-24 01:44 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

[quote]原帖由 "yeq"]我去找来装装看.呵呵。[/quote 发表:

然后可以看看我的 这篇文章,http://linux.dalouis.com/computer/linux/nullida.html

把病毒邮件IP加到防火墙里面去,hoho :em11:

论坛徽章:
0
10 [报告]
发表于 2004-05-24 07:46 |只看该作者

怎么根据查出的病毒文件列表来删除病毒文件?请高手帮忙,谢谢

做为日常维护的话,短短一行就行了,没必要太复杂

  1. awk -F"-" '{print "rm",$1}' 1.txt | sh
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP