著名FTP软件pure-ftpd以安全性好,传输速度快深受我等追捧,随着用户上传文件的增多,我们发现磁盘空间也越来越少。如果细细的检查用户上传的文件,发现很多类似于mp3,视频电影类文件,还有诸如一些可执行文件等。虽然我们的Pure-ftpd当前运行在BSD平台下,.exe,.com,.vbs文件不对其构成安全性威胁。但限制用户上传的文件类型显得非常有必要,下面就来研究一下如何实现该功能。
经网上查阅资料,了解pure-ftpd可以通过pure-uploadscript来实现该功能。实现的原理是用户上传文件的同时,调用一个脚本对其上传的文件进行检测,如果发现是未经允许的文件,就立即删除它。
可以先man 一下pure-uploadscript的用法,
<a target="_blank" href="http://blog.51cto.com/attachment/201104/230704735.png"></a>
第二种写法:
<a target="_blank" href="http://blog.51cto.com/attachment/201104/230912936.png"></a>
tr命令就是转换字符,省去了第一种正则表达式的写法。这个脚本也可以用if语句来写
<a target="_blank" href="http://blog.51cto.com/attachment/201104/231111785.png"></a>
脚本写完成了,让我们来测试一下,我们写的脚本是否真的有效
再加载上面写的shell脚本
<a target="_blank" href="http://blog.51cto.com/attachment/201104/231314167.png"></a>
果然,pure-uploadscript成功运行在后台
好,再重新启动pure-ftpd吧,让配置文件生效。
上传一个.exe文件试下
<a target="_blank" href="http://blog.51cto.com/attachment/201104/231428763.png"></a>
上传成功,再在上传目录下查看是否有此文件,经验证,没有,说明我们写的shell脚本正确无误。系统日志中有下面一句
<a target="_blank" href="http://blog.51cto.com/attachment/201104/231549974.png"></a>
PS:本文基于freebsd平台,在linux下一样的操作
本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/540020,如需转载请自行联系原作者