架设FTP服务器
专题快递
随着宽带时代的到来,我们可以更快速地利用FTP服务来与朋友直接分享和交流我们电脑里的文件资料。建立一个FTP下载服务器相对比较简单,一般用WIN2000下自带的IIS就可以实现,但IIS在功能上好多地方都不尽如人意,下面我就介绍一款功能非常强大、性能稳定但使用简单的FTP服务器构建软件Serv-U FTP Server,在Windows操作系统上便可轻轻松松架设我们个人的FTP服务器。
Serv-U FTP是一个可以运行于所有Windows操作系统下的FTP服务器程序。本实例是以较新的Serv-U FTP Server3.0.0.19版来建立FTP服务器。安装使用后,你的个人电脑就变为了一个FTP服务器,你所连接的网络中的计算机用户,通过CuteFTP等FTP软件就可以访问你的个人电脑,可以设置允许下载、上传等权限。下面我们就来详细介绍一下。
一、安装软件
官方主页http://www.serv-u.com
Serv-U FTP Server是一款试用软件,安装后30天内,你可以将其作为“专业版本”使用,但试用期过后,你就只能将其作为免费的“个人版本”使用,只有基本功能了。
1.前提
如果你的IP地址是静态的(固定的),那最好!记下IP!如果你的IP地址是动态的(每次拨号上网后的IP地址都不同),后面也有办法解决。
现在假设本机是静态的IP地址,为“61.170.128.202”(以后可以改的),欲建立一个名为“hbbftp”的可用的FTP服务器。
2.开始安装
执行ServU30019.exe安装程序,全部选默认选项(本程序安装完成后不需要重新启动)。
安装完成后程序会自动运行,以后你也可以在菜单中选择“开始→程序→Serv-U FTP Server”运行,服务器的Service会启动,管理工具会自动运行。
3.Setup Wizard
设置向导可以帮你轻松地完成基本设置,因此建议使用它!直接选“Next”。
选择“建立快捷键”和“与电脑同时启动”。
以下步骤具体说明一下:
(1)Your IP address(IP地址):要你输入你的IP地址(如果你自己有服务器,有固定的IP,那就请输入IP地址;如果你是动态IP,那就什么也不要填。我们假设本机是静态的IP,地址为“61.170.128.202”)。
(2)Domain name(域名):如果你有的话就填上(如ftp.abc.com),没有的话,就随便填一个,这里输入“hbbftp”。
(3)Allow anonymous access(接受匿名登录吗):询问你是否允许匿名访问,此处可根据自己需要选择。一般说来,匿名访问是以Anonymous为用户名称登录的,无须密码,当然如果你想成立一个会员区什么的,就应该选择“No”。
(4)Home directory(匿名主目录):此处可输入(或选择)一个供匿名用户登录的主目录。(如输入:G:\===hbbftp===或用浏览按钮在硬盘里选择)。
(5)Lock in to their home directory(将用户锁定在刚才选定的主目录中):即是否将上步的主目录设为用户的根目录,锁定后,匿名登录的用户只能以你所指定的目录(===hbbftp===)为根目录,访问这个目录下的文件和文件夹,这个目录之外的文件和文件夹就不能访问。一般选“Yes”。
(6)Create named account(建立其他账号):此处询问是否建立普通登录用户账号(非匿名用户),也就是说可以指定用户以特定的账号访问你的FTP,这对于办会员区可很有用哦,你可以给每个人都创建一个账号,每个账号的权限不同,方法将在后面讲到,一般选“Yes”。
(7)Account login name(用户登录名):请你填入所要建立的账号的名称即普通用户账号名(比如输入“hbbftp1”)。
(8)Password(密码):设定用户密码。由于此处是用明文(而不是*)显示所输入的密码,因此只输一次。
(9)Home directory(主目录):输入(或选择)此用户的主目录。
(10)Lock the users into their home directory(将用户锁定在主目录中):询问你是否要锁定该目录,选“Yes”。
(11)Account admin privilege(账号管理特权):询问你这次创建的用户的管理员权限,有几项选择:无权限,组管理员,域管理员,只读管理员和系统管理员。每项的权限各不相同,一般使用它的默认值“No privilege”(普通账号)。
(12)最后选“Finish”(结束):即完成设置((图1))。

我们可以试着看看,现在已经建立好了一个FTP服务器,初步设置为:
服务器地址为“61.170.128.202”,其下有两个用户,一个是匿名用户“Anonymous”,其密码为空;一个是普通用户“hbbftp1”,其密码为在向导中输入的内容(<
注意:如果错过了Setup Wizard(设置向导),还可以在运行程序后,按以下步骤再设置:选择demains,按键盘上Insert键或菜单栏上的“New Domain”,进入add new domain设置,输入IP地址、端口(用“21”方便一点)。
我们已经建立好了FTP服务器,现在就可以试用FTP客户端软件来测试登录。不上网时,本地机的IP地址默认为127.0.0.1,FTP端口号为21。不要告诉我你现在还不会用FTP客户端软件(比如CuteFTP等)哦。
二、Serv-U FTP的整体配置
1.认识Serv-U FTP管理工具的的界面
在设置完成后,将会进入Serv-U的主界面((图2))。

左边的树状结构是Serv-U的结构层次:
(1)Serv-U Server下面是管理工具在管理的FTP,其中<
Name用以标记这一服务器,可以是任意名称,如“<
FTP server IP address or name:IP地址或DNS名称,如“127.0.0.1”,“ftp.aboutnt.com”等,这里我们是hbbftp。
User name:具有管理权限的用户名。
Password:口令。
Administration port:管理端口,serv-u管理程序通过该端口对远程FTP服务器进行管理,对于“<
Start Automatically(system service):这个选项只存在于本地服务器。
Start/Stop Server:启动/停止服务器,对于远程服务器,只出现停止按钮。
(2)在每个服务器中:
License:填注册码(共享版此项无内容)。
Settings:服务器总配置。
Activity:监测本服务器的运作情况。
Domains:下面的各个Domain,是以你的机器拥有的不同IP开的服务器为前提(可以选Domain,按New Domain新建另外的Domain)。
2.Settings(设置)
(1)General:总体限制,参数设置。
Max. Speed(总体限速):可以限制服务器的最大速度,不设的话,极速可达约1MB/s.
Max no. of users(同时的连接数目):可以限制用户的数量,不要太多,很伤硬盘的,建议不超过20。
Check Anonymous password(匿名登录密码检查):不要选,否则IE不能进入。
Block Anti Time-out schemes和Block “FTP_bounce”……可以拦截FXP(站点到站点传送),主要是把些无聊人赶掉,都选吧。
Block users who connect……用于“踢掉”用多线程下载的用户。
(2)Dir Cache:目录缓存
用户较多时,可以明显加快用户浏览的速度,把它打开,用默认的Max.Size 25,Time-out 600 sec.就差不多了。
Auto-Refresh选取后你会看到在缓存中有哪些目录。
(3)Advanced:高级设置(见(图3))

Server:
Enable security(安全设置生效),一定要选上!
Sockets:
Inline out-of-band data:选取后听说可以防止DoS(Denial of Service)攻击,随便你怎么选。
3.Activity(活动状态)
(1)Users(用户)
显示当前登录的用户IP地址等资料及当前工作状态;建议选中“Auto reload”(自动刷新)。如果选中某个用户,单击右键,再选“Kill User”,即可将他从服务器中踢出去。
(2)Blocked IPs(被挡住的IP)
此处用来暂时禁止某些IP访问本系统。单击工具栏的“+”即可增加被暂时禁止的IP地址及禁止登录的总时间(从增加之后开始计算)。列表中可以看见被禁止的IP地址及其对应的计算机的完整的域名和离解禁尚有多少时间(以秒为单位)等等。在列表中单击右键即可以选择删除已禁止的IP地址。
(3)Session Log(系统日志):记录所有登录(或试图登录)到本机的操作痕迹及错误信息等。
三、Domains(域名)属性配置
这里包含了你一开始就根据向导所建立的用户、设置、域等。
1.在Domains下选取你的域名hbbftp(即选中FTP服务器名)
此处可修改相应域名、IP地址及端口号等。
Name:域的名字,这里是hbbftp。
Domain IP address:这里是假设为61.170.128.202(如果你的IP是动态的,如果要用DNS或DDNS域名解析,就选“Use any available IP address”,后面有专门说明)。
Domain type:选Store in .INI file比较好,它把你的服务器的设置都放到ServUDaemon.ini文件中,重装系统后把这文件放上去就行了。
FTP port number:通常是21。
2.Settings(设置)
General/Max no. of Users(最大用户数):此处可以设置允许同时登录到本FTP服务器的最大用户数,和上一个差不多,不过是在域里限制。
IP Access/Deny access(拒绝):此处可设置仅仅拒绝登录到本FTP服务器的计算机的IP地址列表。
IP Access/Allow access(允许):此处可设置仅仅允许登录到本FTP服务器的计算机的IP地址列表。
IP Access/Rule(规则):此处可输入指定的IP地址或IP地址的范围。接受如“192.168.0.88”之类的单个IP地址,或者如“192.168.0.4-192.168.0.11”之类的IP地址范围,或者如“192.168.0.*”之类的通配符,以及如“192.168.0.1?”之类的单个字符的限制等多种格式。“Add”为添加,“Remove”为删除。
Message(信息):此处可改变一些提示性显示信息,如“Signon message file”(开始广播)、“Server offline”(服务器未工作)、“No anonymos access”(不接受匿名登录)等等。很好玩的,可以把别人登录看到的信息都改掉。
3.Activity(活动状态)
Users(用户):显示登录到本服务器的用户及其状态;建议选中“Auto reload”(自动刷新)。
Domain Log(系统日志):记录所有登录(或试图登录)到本服务器的操作痕迹及错误信息等。
4.用户属性(以Domains下hbbftp1为例)
大家可以看到一开始我们建立的两个账号,一个Anonymous,一个hbbftp1。现在就账号hbbftp1来对其中的细节设置说明一下。
(1)Account(账号)选项
Disable account(禁用账号):如果选中它,则此账号将无法使用。
Automatically remove account on date(自动删除账号于日期):到了某日期就删掉该用户的账号。
User name(用户名):此处显示并可改变该用户的登录名;修改后,左边面板的用户名也会自动作相应的变更。
Group(s)(组):如果有建立组,则此处可通过选择组来控制更多的目录。这些组中目录的属性在建立组时确定,用户在“Dir Access”中不能修改!如果组用户的主目录不在根目录所包含的目录树之内,则此组用户无法进入。
Password(密码):此项为“<
Home directory(主目录):此处原则上为用户登录后的主目录;这是用户登录时看到的第一个目录。实际用户登录的根目录将由下面的“Lock user in home directory”来决定。
Lock user in home directory:如果想在用这账号登录后,看到的根目录是所设的Home Directory,就选吧。
Privilege:这用户远程管理Serv-U服务器的权限。
Notes(备注):此项用来标注一些说明性的文字。
(2)General(常用)选项
Hide hidden files(隐藏“隐含”文件):你可以隐藏属性为“隐含”的文件,在列表时不显示属性为“隐含”的文件。
Always allow login(总是接受登录):本账户永远有效。
Allow only N login(s) from same IP address(只接受同一个IP地址的N个用户登录):可以限制同一IP的登录个数,对于限制外部局域网接入的机器数量非常有用!如果考虑到用IE的用户,最好设两个连接,否则对方可能不能下载,如果狠心点,设一个也没关系!
Allow user to change password(接受用户改变密码):是否允许用户更改密码(这需要客户端软件的支持),有些FTP客户端有允许用户改变自己FTP密码的功能,此处就是为它们准备的。
Max. upload speed(最大上载速率):可以限制客户端上传文件的最大速率。
Max. download speed(最大下载速率):下传文件的最大速率。
Idle time-out(空闲溢出时间):超过多少分钟不工作(读写等操作)就丢弃已产生的连接。上来后在那里发呆10分钟就KICK了他。
Session time-out无论他有没有发呆,上来一段时间后就把他KICK走,即使他在下载什么东东也照踢不误,并且在一分钟内不让他再上来。呵呵,你不会这样做吧,让人讨厌。
Max. no. of users(最大用户数):允许同时连接到本服务器的最多的用户数目。
Logging message file(登录信息文件):在这里可以输入(或选择)一个事先建立好的文本文件的完整路径和文件名,登录成功之后就会出现相关提示信息(详情请看后面)。
Password type(密码类型):一般选默认的“Regular Password”(常规密码)。
(3)Dir Access(目录存取属性)选项(如(图4))

在此可以控制用户对FTP里文件目录的权限,对文件有读取、写入、删除、追加、执行等操作,对于文件夹有列表、创建、删除,以及是否继承子目录等;如果觉得目录不够,你也可以添加可访问的目录。很重要!
Path(路径):目录所在的实际路径;Access(属性):存取属性;Group(组):所属组。
Files/Read(读):对文件进行“读”操作(复制、下载;不含查看)的权力。
Files/Write(写):对文件进行“写”操作(上传)的权力。
Files/Append(附加):对文件进行“写”操作和“附加”操作的权力。
Files/Delete(删除):对文件进行删除(上传、更名、删除、移动)操作的权力。
Directories/Create(建立):建立目录的权力。
Directories/Remove(移动):对目录进行移动、删除和更名的权力。
Inherit(继承):如选中则以上所选属性对所选“Path”中指定目录以下的整个目录树起作用;否则就只对当前目录起作用。
注意:此处设置的基本规律是,有特殊属性的放在前面,共用属性的放在后面。
(4)IP Access0(IP访问)选项
在这里你可以设定某个IP是否可以访问你的FTP服务器,你可以拒绝它的访问,只要填上相应的IP地址,以后由这个IP的访问通通被拦下。
Deny Access(拒绝访问):选中此项则下面列出的IP地址被拒绝访问此FTP服务器。
Allow Access(允许访问):选中此项则只有下面列出的IP地址被允许访问此FTP服务器。
Rule(规则):在此处输入IP地址,再按向下的手图标则被加进列表;向上的手是删除选中的IP地址。
(5)UL/DL Ratios(上传/下载比例)选项
设置上传和下载之间的比值,控制好上传和下载之间的数据流量关系。
(6)“Quota”(配额)选项
这里你可以为每个FTP用户设置磁盘空间。
Enable disk quota(允许磁盘配额):如选中此项则可设定上传空间的大小。
Current(当前):这里显示的是已用空间;可通过按“Calculate current”按钮来得到此值。
Maximum(最大):这里可设定最大的上传空间。
以上单位均为“KB”(千字节)。
5.Groups(组)
(1)利用Groups(组)可以预先建立好一个或多个确定的属性(读写等)和控制权限(授予或禁止某些IP地址访问)的目录,以后当我们建立新的用户,需要用到这些目录时,直接添加进去就行了,不用再进行重复设置。在这种情况下,组的建立可以大大减轻设置工作量。
(2)建立一个新组:选“Group→右键→New Group”,然后在“Group name”中输入组的名字再按“finish”(结束)即可。
(3)设置“Dir Access”(目录存取权限):在此处选“Add”(增加)增加目标目录(可多个),然后再为它们逐个设置存取权限。
(4)“IP Access”(IP控制):此项的具体设置请参见本文相关内容。
(5)组的复制:可以像复制文件一样复制所建立的组。选中组名,单击右键,再选“Copy Group”即可复制此组,选几次就复制几个。
(6)使用“Group”(组):在“Users”下选中要使用组的用户名,再点击右边面板中“Group(s)”后的图标,选择所需要的组名(可用Ctrl键或Shift键来同时选中多个组);多个组名中会自动以逗号进行分隔。
(7)进入“Dir Access”,再按工具栏的刷新图标(书图标左边的那个),即可看到最后的效果。
我们可以把一个Group设置好参数,在任一用户/Account/Group(s)中把他加进去,他就拥有那个参数的权限。
最后大家要注意的是,改过设置后一定要点击一下右键,选择“Apply”使设置生效!
到此,我们已经可以开始试用一下自己的FTP服务器,做个网管了,感觉如何?
还有问题?对!我们只是假设本机为静态的IP地址,而实际上是动态的,那怎么办?下面接下来再介绍一下用Serv-U FTP的一些技巧。
四、关于动态IP地址的解决和在Serv-U里的设置
1.最笨的方法是,每次拨号上网后,运行Winipcfg查出自己当前的IP,再在前面的设置基础下每次进Serv-U里改一下。
2.利用Internet上的DNS服务,也就是通过DNS服务器将你输入的域名转换为对应的IP地址。你有正式域名当然最好了,没有的话,对于我们普通玩家来说,就可以利用动态域名解析──DDNS。
(1)到DNS2GO主页http://www.dns2go.com去申请一个域名(免费的!具体请看相关介绍),如:*.DNS2GO.COM。就相当于使你有了个网上固定地址。
(2)使用域名下的设置
在Domains下选取你的域名,hbbftp(假设在静态IP时设的,现在要改了),此处要修改相应的域名、IP设置。
Name:.DNS2GO.COM。
Domain IP address:就选“Use any available IP address”。
Domain type:Store in .INI file。
FTP port number:21。
现在左边的域名就开始变为了你网上用的域名了!
五、虚拟路径映射
1.概念:
Serv-U FTP的一个重要功能:虚拟目录!比如主目录为g:\===hbbftp===,想将f:\game挂到主目录下,g:\===hbbftp===\==game==,就要用到这虚拟目录的功能。
可以是任何Windows分区上任何目录,甚至网络邻居里的也可以。
需要用到两个变量:
%HOME%:即“Home directory”
%USER%:用户名
2.操作步骤:
在Domains下:选择“Settings→General→Virtual path mappings”后按“Add”。
Physical path(目录的实际路径):填f:\game
Mapped to(映射指向目录,这个目录必须实际存在):填%HOME%
Mapped path name:在主目录===hbbftp===里显示的新的虚拟目录:填==game==
这样就把f:\game映射到了主目录===hbbftp===里了,登录后就看到新的\==game==目录了!
记住要在各用户的Dir access中设置==game==目录的权限哦!
六、关于封人踢人
1.按IP封
在Serv-U中,IP Access很多地方都有出现,这就是限制IP访问的地方了。
IP access:
如果要限制IP,就在这里设置,限制是由上到下执行检查的。
这里给出一些例子:(注意次序!)
(1)只对某几个IP开放账号:
────────────────
A:202.38.241.8
A:202.38.249.2
A:202.38.248.3
D:*
意思是,对202.38.241.8,202.38.249.2,202.38.248.3开放,其余都不准进入。
(2)只对一个网段开放:
A:202.38.241.*
D:*
意思是,只对202.38.241.*开放,其余拒绝。
(3)只拒绝部分IP
D:123.166.*.*
D:202.38.234.56
A:*
拒绝123.166.*.*的B类网段,及202.38.234.56访问,其余都欢迎。
要注意的一点是,最后一个限制项目,最好要设成:
A:*(其余都允许进入)或
D:*(其余都不准进入)
否则,可能会得不到预期中的限制效果。
2.踢人
如果有个人连了上来,你又想封掉他,把他踢走。
在<
右击,KILL USER……
在你FTP里,他的命运就由你掌握了。
七、SERVE-U的设置问题──message文件函数
在Domains下hbbftp1下Logging message file(登录信息文件):在这里可以输入(或选择)一个事先建立好的文本文件的完整路径和文件名,登录成功之后就会出现相关提示信息(如(图5))。

1.可以在Message File中设置的函数:
%Time:目前的时间
%Date:目前的日期
%UNow:目前的联机人数
%UAll:从激活到目前为止的联机人次
%U24h:在过去24小时内的联机人次
%MaxUsers:总连接人数上限
%MaxAnonymous:匿名账号人数上限 (Anonymous FTP)
%Name:账号名称
%IP:对方主机名称/地址(Hostname/IP)
%DIR:目前的目录
%Disk:目前的磁盘驱动器名(C:D:E:……)
%DFree:磁盘剩余空间
%Fup:上传文件个数
%Fdown:下传文件个数
%Ftot:总传档数
%Bup:上传位数
%Bdown:下传位数
%Btot:总传输位数
%Tconm:联机时间数(以分为单位)
%Tcons:联机时间数(以秒为单位,与%tconm配合使用)
2.我们建立的文本文件结果:
来自%IP的朋友你好!欢迎光临!
本站开通以来已接通%UAll位使用者。
过去24小时总共有%U24h次连接。
目前有%UNow位朋友在线,最多允许%MaxAnonymous位同时在线。