Total Pageviews

Sunday 20 November 2011

利用Gene6 FTP Server建立FTP服务器

一、简介

    Gene6 FTP Server(简称G6)是一个功能非常强大的FTP工具,支持RFC-959标准并增强其中的某些功能,上传和下载都可以续传,还可以实时查看运行状 态、占用带宽,其很多附加功能也是不错的。功能、界面、性能等方面有超越Serv-U之势。更重要的是他支持扩展插件,可以根据自己的实际需要编写插件或 者使用别人开发的插件。
    二、G6与Serv-U功能对比
    1.语言包
    G6有官方中文语言包,可以方便的在多种语言之间切换。
    Serv-U不是采用语言包的形式,不过一般新版出来后马上就有汉化补丁了。
    2.远程管理
    G6和Serv-U都可以方便的进行远程管理,操作和本地管理几乎完全一样。
    G6安装时需要配置一个远程管理端口(the port the remote administration will be listenling to)及管理员用户名/密码,注意这个管理端口不同于提供FTP服务的端口!默认FTP端口为21,管理端口为8021,G6的本地管理和远程管理一样, 都是需要用户名/密码 连接到管理端口进行管理。
    Serv-U的FTP服务端口和管理端口是同一个,默认21。Serv-U以前版本在本机运行管理器后直接就可以进行管理了,新版本加入了密码保护功能,防止其它人随意修改ftp设置。如果服务器有多个域的话,Serv-U连到任一端口都可以进行管理。
    3.用户权限控制
    在这方面G6的设置比Serv-U详细很多,比如可定义用户最大上传文件大小,可定义传输限制(可上/下传的量),可定义每天的访问时间等等。
    4.统计功能
    Serv-U本身没什么统计功能,如果想查看某个用户的上传/下载量,文件数等信息的话很麻烦,如果你选择了记录详细日志的话,可以用第三方工具来统计这些信息。
    G6里直接就可以看到每个用户的统计数据,还可以直观的看到统计图。
    5.虚拟目录
    G6的虚拟文件系统比Serv-U强大很多,可以指向普通的目录、远程的FTP地址、网络邻居中的共享目录、内存等等用G6就可以做FTP集群了。
    6.消息定义
    Serv-U可以定义login/logout/change dir三个动作发生时的消息。
    G6 除了Serv-U有的外,还可以定义File Retrieved/File Stored/List等发生时的消息。
    7.事件、脚本及插件
    G6里可以定义多种事件发生时执行的程序,也可以方便的写脚本来扩充功能,脚本支持VBScript和Jscript。
    Serv-U则只能靠插件来实现这些功能,开发难度比G6高一些,由于Serv-U使用时间很长了,所以各种常用插件很多,比如sfv check,bbs ftp plugin等。而G6由于上面提到的优势,也可以非常方便的扩充功能,现在常用的sfv check及bbs ftp plugin也都有了,而且G6的论坛上还有专门的讨论区http://www.g6ftpserver.com/forum/index.php?showforum=13 里面有很多好的插件。
    8.安全
    Serv-U树大招风,经常受到安全问题困扰,G6至今还未爆出过有大的漏洞。
    当然,G6现在有个比较令人头疼的问题,有人反映G6的中文支持比Serv-U差,在英文Window上+中文字库用G6,经常会出乱码。 另外,还有人反映G6的稳定性差、CPU占用多,不过,从我使用的情况看,G6的稳定性相当不错,至于CPU占用率,我那台破机器,以前用Serv-U, 一旦有人下载,速度达到6M/S,我就基本干不上什么了,而用G6,虽然有些顿,但不影响使用。
    三、安装及启动G6
    正常从网上下载的G6需要安装,但其实G6是可以进行免安装——安装好后备份G6文件夹,复制到任意文件夹,以后只要在G6文件夹下运行 G6FTPServer.exe -install即可。这有一个好处,下次重做系统,不用对G6进行设置了。这里介绍的G6是v3.6.0.23版本,采用先在虚拟机上安装,然后备份安 装文件夹制作成免安装版本,为安全起见,可以先压缩成RAR文档备份保留。OK,现在开始。
    将G6的压缩包解压缩到任意文件夹,这里,建议解压缩到非系统分区,如D盘,见图。
    解压缩后除了产生Gene6 FTP Server文件夹外,还会有两个压缩包,这两个压缩包G6的Web系统管理插件,一个是官方的(g6webadmin.rar),带中文语言包,一个是 第三方开发的G6 FtpServer Web用户管理插件(UserWebInterface_v2-3.rar),带汉化包。这两个插件的功能是一样的,即用来以WEB形式管理FTP服务 器。总体评价,官方的不如第三方的好用,但我没试过。
    解压缩后,进入到Gene6 FTP Server文件夹,直接运行“安装服务.bat”即可启动G6的服务,当然,你也可以手动安装服务:在文件夹下执行:
    G6FTPServer.exe -install
    四、设定FTP上传、下载文件夹
    现在,你需要设定FTP的上传和下载文件夹,当然,你也可以不建,但为了便于管理和养成良好习惯,还是建立专用的FTP文件夹要好,这里,我们分别建立DOWNLOAD和UPLOAD文件夹,见图。
    五、设定启动系统托盘图标
    本步可以省略,视各人喜好程度而定。该可以用两种方法实现:
    1.修改注册表
    修改注册表中的H_L_M\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,在其下新建一 字符串值,假设命名字符串名为G6FTPServer,双击该键名,设定值为G6所在的文件夹,这里的例子是“D:\Gene6 FTP Server\G6FTPTray.exe”,如果不是这个文件夹,请根据实际情况修改。
    2.在G6 FTP Administrator中设定
    运行G6FTPAdmin.exe,在“工具”里点击“启动托盘图标(Start tray icon)”。
    系统托盘图标设定好后,每次启动机器该图标就会出现在系统托盘。
    六、利用域向导建立FTP匿名用户
    1.设定G6 FTP Administrator运行语言
    G6 FTP Administrator的默认运行语言是英语,可以从它的网站上下载中文语言支持包,使其支持中文。本压缩包已经下载了中文语言包,支持中文。启动G6 FTP Administrator,在“Tools”中选择语言为“Chinese”。
    2.修改内置Administrator密码
    点击Local Machine,首次运行会要求管理员用户和密码,本压缩包内置的管理员是administrator,密码是admin,为安全起见,尤其需要远程管理 FTP服务器的,一定要修改帐号名和密码。修改好后,重新用改好的账号和密码登录,勾选上记住密码,这样,下次就可以直接登录了。
    3.建立FTP匿名用户
    点击“域”,双击创建一个新域,会弹出下面对话框。输入一个域名称,具体名字自定,这里,新建的名字为“我的FTP服务器”。
    按下一步后,会出现IP地址和端口设定窗口,如果FTP不采用加密传输的话,直接点下一步。
    接下来的是日志创建窗口对话框,默认全选,为了安全,全选上吧,但如果选上记录日志,如果FTP连接的人多的话,日志量会很大。所记录的日志会保存在G6安装文件夹下面的Log文件夹中。
    接着就是设定匿名用户的主目录,单击图标选择相应的文件夹即可,我这里假设为D:\FtpServer,点击完成,FTP服务器就初步完成了。
    七、域(Domain)和用户(User)的设置
    上一步点击完成后,会弹出域属性设置对话框,因为还需要对域和用户进行一些设置。
    1.域的属性设置
    域的属性设置有很多,这里仅选几个实用的说说。
    (1)选项设置
    看上图即可,分别是设置域的状态(在线、已关闭、等候客户端注销、等候客户端传输)、最大客户端数(无限、5、10、50、100、 200、500、1000)、每IP最大连接数(无限、1、2、5、10)。域是针对所有用户的,如果想限制域的最大客户端数和每IP最大连接数,就在这 里设置,如果想针对不同用户采取不同的策略,可以先不设这里。
    (2)杂项设置
    这个设置也很有用,很多人也使用,比如,有些人不自觉或者恶意发送多个线程连接服务器、占用带宽,造成服务器负担过重崩溃,或者影响其他 IP的连接,那么就可以启用“抗攻击”功能,比如,设定如果某IP60秒内超过10次连接则BAN之10分钟,则如下图选择。不过,对于那些通过路由上网 的局域网内部的机器来说,如果对他们开放FTP,就不太适合使用这种方法。
    (3)日志和报告
    这个也是比较有用的,可以记录用户登录FTP的情况和行为,为查找那些在FTP上传输不良文件(如色情、病毒等)的、或者恶意删除他人文件的、或者不遵守FTP规则的IP保留证据,以便进一步处理。
    日志启用也是有讲究的,如果有大量计算机连接到FTP上,日志量大的,可以设置为每天或每周记录,反之可以设置为每月或每年。为了既保证记 录容量保持在一定范围,同时又有效记录用户的行为,可以设定日志记录的规则。如果对某些IP取消记录(例如,有时要利用本机登录,检测FTP情况,那么可 以设定不记录本地IP),可以设定IP记录。单击“IP记录”进行设定即可。
    (4)消息
    消息的设定也比较有意思,有时也有用。默认的各种消息是英文的,为了增加可读性,你可以自行修改成中文。另外,各种消息支持标签变量,标签 变量用$符+标签变量名来表示。比如,你的FTP由多个硬盘分区构成的,你想在用户更改目录时,通知用户当前硬盘的剩余空间,则可以在Change Directory消息中添加标签变量:
    标签变量可以说非常强大,等以后有时间专门介绍更多相关的标签变量的应用,也可以自行参考用户手册进行研究。
    (5)已禁止的文件
    这个可以禁止用户上传单个或某一类文件,例如不允许上传folder.htt和desktop.ini,你就可以把这两个文件名加进去;如果不允许上传mp3文件,你就可以把*.mp3加进去,见图。注意:该规则只适用于上传和更改文件名,而不适用于下载文件。
    另外,这个选项还可以设定只允许上传某一类文件。
    (6)传输速度
    如果你需要限制FTP的传输速度,可以设置这个。
    (7)传输限制
    设定每天、每周或每月的文件传输配额,0则无限制。对于有些公司来说,限制传输量可以节省网络使用费,但对于我们来说,没必要。
    (8)事件和脚本
    这是G6的非常好的功能,可以根据服务器和用户的操作执行某些命令。比如,你希望自动删除用户上传失败的文件,就可以应用OnFileUploadFailed这个事件,见图。更多地请参考相应手册。
    (9)安全选项
    IP绑定用来设置服务器侦听的IP地址、端口、模式,一般来说,局域网内部的计算机做服务器被公网的计算机连接时,需要设定主动模式,同时 还需要在路由器上设好端口映射,否则可以不管;IP访问用来设定允许或禁止连接的客户端的IP地址,比如,我们想设定只有校内和塞尔网络的计算机连入,可 以设定IP访问规则,见图。至于SSL安全连接,以后有空再讲。
    2.用户的属性设置
    用户的属性设置有很多与域的设置类似,这里仅就个别的设定进行阐述。
    (1)访问权限
    用户的目录及文件访问权限的设置很有用。默认的设置好主目录后,只能进行下载,不爽。现在假设需要把主目录下只允许列表;DOWNLOAD设置仅供下载;UPLOAD文件夹设置可以上传、下载、续传(即追加)但不能删除,则可以做如下设置:
    主目录只勾选文件夹和子目录
    新建访问权限,虚拟名设置为download,访问权限设置勾选文件访问的下载,文件夹选项列表文件、列表文件夹和目录访问
    新建访问权限,虚拟名设置为upload,访问权限设置勾选文件访问的下载、上传、追加,文件夹选项列表文件、列表文件夹、建立和目录访问
    (2)杂项
    杂项里别的就不说了,仅说说消息文件:一个是更改目录的消息文件,一个是建立连接后的消息文件。也就是说,与Serv-U一样,我们可以文 本文件的形式显示一些消息,该消息同样支持标签变量。这里简单做个欢迎消息文件示范,更进一步的请参看G6手册。例如,建立一个名字为 welcome.txt的文本消息文件,内容如下:
    欢迎访问$DOM_NAME
    你好,$USR_ACCOUNT!您的IP地址为:$USR_PEERIP
    本服务器最大连接数是$DOM_MAXUSERS,目前有$DOM_CLIENTCOUNT个用户连接本服务器
    OK,现在可以试试FTP怎么样了,设置是否成功。启动FlashFXP,点击快速连接,填入地址127.0.01,执行,可以看到FTP文件夹了,试着上传和下载一下,正常。
    (3)高级
    如果允许服务器之间互传文件,可以把fxp的两个选项勾上。
    (4)每天访问时间
    如果你希望FTP在特定时间提供服务,如工作时间开启服务(8:00~17:00),那么你可以设定访问时间来完成;如果每天开启的时间不同,把“每天使用同一计划”的勾选去掉,就会弹出以星期为单位的每天访问设定。
    基础篇完毕,G6应该可以初步使用了,等以后有时间,整理一下G6的SSL服务器设置、标签与事件的运用和虚拟目录设置,那个应该属于进阶 篇。至于高级篇嚒,我觉得应该是vbs脚本和插件编制、数据库等的应用——当然,这对于高手来说,很简单(我不是什么高手啊,我只会简单应用)。其 实,G6很容易上手的,要不,其他的别人继续来?
    准备收工,等等……,还有一步很重要,如果你的系统是WindowsXP SP2的话,G6会被防火墙挡住的,需要将G6填入到防火墙中。控制面板——>防火墙——>例外,按“添加程序”按钮,选择“浏览”按钮,找 到Gene6 FTP Server所在的文件夹,把G6FTPServer.exe添加进去。如果还有其他防火墙,请自行设置。

No comments:

Post a Comment