
作为专门建立FTP站点的工具来说SERV-U无疑是最常用的,不过在很多时候,特别是公司服务器是不希望安装这样或那样的第三方软件的,毕竟随着安装软件数目的增多,漏洞将会越来越多,安全也会越来越没有保障。
如何解决这个问题呢?实际上细心的人都会发现在windows系统IIS组件中实际上包含了建立FTP站点的功能。只有在IIS中建立FTP才能更好的和系统紧密结合。今天介绍如何在windows2003+iis6环境下建立FTP服务器。
一、准备工作:
既然我们建立FTP用到了IIS,那么就应该在windows中安装该组件。当然很多读者可能会疑问为什么自己安装了IIS组件却发现没有建立FTP的选项,这是因为默认情况下建立FTP的功能没有被集成到IIS中。下面就为大家介绍这些准备工作如何完成。笔者是在windows2003+iis6环境下完成该项操作的。
第一步:通过任务栏的“开始->所有程序->控制面板->添加或删除程序”来安装IIS组件。(如图1)
图1
第二步:在添加或删除程序窗口中的左边选择“添加/删除windows组件”。等待一段时间后会弹出windows组件向导,我们选择“应用程序服务器”,然后点右下角的“详细信息”按钮。(如图2)
图2
小提示:默认情况下我们所有应用程序例如DHCP,DNS,IIS等组件都在应用程序服务器选项中。
第三步:在应用程序服务器设置窗口中找到“internet 信息服务(IIS)”继续点右下角的“详细信息”按钮。(如图3)
图3 点击看大图
第四步:默认情况下在IIS组件详细信息处没有安装FTP功能组件,因此我们需要将其添加。在“文件传输协议(FTP)服务”前打对勾,接下来点“确定”按钮。(如图4)
图4 点击看大图
第五步:再次确定后开始安装IIS组件相关文件到本地硬盘。(如图5)
图5
第六步:安装过程中会出现提示无法复制文件FTPCTRS2.DLL文件的复制错误信息。这个文件是负责FTP功能的。(如图6)我们放入windows2003系统光盘到光驱中,并通过浏览按钮将路径指向I386目录即可。确定后安装工作继续进行。(如图7)
图6
图7
第七步:经过短暂的等待系统将完成windows组件的安装工作,我们点“完成”按钮即可。(如图8)
图8
第八步:接下来再次通过任务栏的“开始->所有程序->管理工具”,再其下找到Internet信息服务(IIS)管理器,这个就是我们用来建立FTP的组件。至此我们也完成了建立FTP服务器的前期准备工作,接下来将是具体的配置工作了。(如图9)
图9
二、用IIS建立FTP服务器:
用IIS建立FTP服务器不是非常复杂,操作起来比较简单,类似于用IIS建立网站,其中涉及的虚拟目录等概念和网站中的虚拟目录一致。
第一步:通过任务栏的“开始->所有程序->管理工具”,再其下找到Internet信息服务(IIS)管理器,打开管理器后会发现在最下方有一个“FTP站点”的选项,我们就是通过它来建立FTP服务器。(如图10)
图10
第二步:默认情况下FTP站点有一个默认FTP站点,我们只要把资源放到系统目录下的inetpub目录中的FTPROOT文件夹即可。例如系统在F盘,只要将分享的资源放到f:\\inetpub\\ftproot目录中就可以了,用户登录默认FTP站点时将会看到放到该目录中的资源。
第三步:如果我们不想使用默认设置和默认路径的话可以进行修改,方法是在“默认FTP站点”上点鼠标右键选择“新建->FTP站点”。(如图12)
图12
第四步:在启动的FTP站点创建向导中我们可以自定义FTP服务器的相关设置,点“下一步”后继续。(如图13)
图13
第五步:为FTP站点起一个名,这里设置为soft的FTP。(如图14)
图14
第六步:为此FTP站点设置一个可用的IP地址,选择实际的地址是可以的,如果你拿不准的话还可以选择“全部未分配”,这样系统将会使用所有有效的IP地址做为FTP服务器的地址。同时FTP服务器对外开放服务的端口是多少也是在此进行设置的,默认情况下为21。(如图15)
图15
第七步:接下来是FTP用户隔离设置,这里的中文帮助信息写的非常明白,选择不隔离用户那么用户可以访问其他用户的FTP主目录,选择隔离用户则用户之间是无法互相访问目录资源的,另外AD隔离用户主要用于公司网络使用AD的情况。对于大多数情况来说,公司是没有AD的,而且为了安全起见需要隔离用户,因此我们选择第二项“隔离用户”。(如图16)
图16
第八步:选择FTP站点的主目录,我们可以进行修改,默认为系统目录下的inetpub目录中的FTPROOT文件夹。通过右边的“浏览”按钮设置为其他目录,例如“D:\稿件”。(如图17)
图17
第九步:然后是设置用户访问权限,只有两种权限提供给我们进行设置,依次为“读取”和“写入”,我们根据实际进行设定即可。(如图18)
图18
第十步:完成FTP站点的全部设置工作。当然如果建立过程中存在这样或那样问题的话会在设置向导的最后给出详细的提示信息,有效的帮助我们排除故障。(如图19)
图19
第十一步:我们再次返回到internet信息服务(IIS)管理器中在FTP站点下的“softe的FTP”上点鼠标右键选择启动来开启该FTP。(如图20)
图20
小提示:如果在实际使用中出现如图21的提示的话,说明当前本地计算机的21端口已经被其他服务或程序占用,这时需要我们对刚刚建立的FTP进行修改,将其服务端口从21设置为其他没有被程序占用的端口,方法是在该FTP名称上点鼠标右键选择“属性”,(如图22)在FTP站点标签中的FTP站点标识下的TCP端口处添入没有被占用的端口号,例如33,确定后完成修改设置。(如图23)再次通过鼠标右键选择“启动”就生效了。(如图24)
图21
图22
图23
图24
三、检测FTP工作状态:
按照上面介绍的方法完成了FTP的建立工作,那么如何检测他工作是否正常呢?在internet信息服务(IIS)管理器中是无法察觉的。(如图25)
图25
第一步:一般来讲我们要对已经建立好的FTP进行设置的话,都是通过FTP站点的“属性”来完成的。在该FTP站点上点鼠标右键选择“属性”。(如图26)
图26
第二步:在FTP属性窗口中的“安全帐户”标签我们可以设置该FTP是否容许匿名登录,或者选择匿名登录使用的帐户。(如图27)
图27
第三步:我们在另外一台连接了网络的计算机上通过“开始->运行->输入CMD”进入命令行模式来检测FTP工作状态。当然如果你有其他FTP客户端登录工具的话使用他们来检测是更加方便的。在命令行模式中输入ftp 10.91.30.45后回车,该IP为建立FTP服务的服务器IP地址。在出现USER提示时输入10.91.30.45计算机上管理员名称,在接下来的PASSWORD处输入系统管理员的密码就可以登录了。(如图28)
图28
小提示:当然由于默认在该FTP上开启了匿名登录功能,所以在用户名处输入anonymous,密码随便填写一个EMAIL地址也是可以登录的。(如图29)
图29
第四步:当我们在FTP服务器上使用net user命令建立一个新的帐户时也可以使用该帐户登录建立好的FTP。(如图30)
图30
第五步:在登录时输入新建立的帐户名softer以及新建立的密码111111可以成功进入。这说明当前FTP服务器工作正常。(如图31)
图31
四、管理功能初体验:
建立了FTP后不能保持默认状态,否则和那些第三方软件又有什么区别呢?因此我们需要对FTP的资源和用户进行有效的管理。
第一步:如果你觉得登录FTP服务器显示的信息比较乏味的话还可以通过“站点属性”的“消息”标签来自定义一个欢迎信息和退出通告信息。(如图32)
图32
第二步:在“站点属性”的“主目录标签”可以重新设置该FTP站点目录的路径以及读取写入等权限。(如图33)
图33
第三步:同样是在“站点属性”的“目录安全性”标签,我们可以设置容许和拒绝访问该FTP服务器的IP地址范围。(如图34)操作起来很简单这里就不详细讲解了,所设置的拒绝访问地址信息都会清晰的出现在地址列表中。(如图35)
图34
图35
第四步:如果我想让在FTP服务器上的administrator帐户访问某目录,而该目录不容许该服务器上名为softer的帐户访问呢?这时候就要对权限进行操作了。在站点名称上点鼠标右键选择“权限”进行设置即可。(如图36)
图36
小提示:如果发布FTP资源的目录在NTFS文件格式的磁盘上的话则可以通过相应的用户访问权限来设置了。如果是其他格式例如FAT32的话则权限是无法设置的,会出现错误提示。(如图37)
图37
可能有的读者到这里会犯迷糊,哪个设置用户权限了呢?实际上IIS中建立的FTP是和WINDOWS系统帐户紧密相关的,也就是说该FTP不具备建立帐户的功能,建立了FTP后我们使用WINDOWS自身的系统帐户就可以登录了,FTP帐户与WINDOWS操作系统帐号是完全统一的。这点和以往介绍过的TYPSOFT FTP和SERV-U是不同的,这些软件建立的FTP访问帐户是与WINDOWS操作系统帐号的。
五、FTP也玩虚拟目录:
IIS发布网站使用多个虚拟目录已经是司空见惯了,那么在IIS下建立FTP实际上也可以使用虚拟目录,达到的效果和IIS网站虚拟目录是一样的。如果我们想建立一个FTP虚拟目录,应该按照下面介绍的步骤来完成。
第一步:通过任务栏的“开始->所有程序->管理工具”,再其下找到Internet信息服务(IIS)管理器,打开管理器在任意一个FTP站点上点鼠标右键选择“新建->虚拟目录”。(如图38)
图38
第二步:将自动打开“虚拟目录创建向导”,我们点“下一步”继续。(如图39)
图39
第三步:在虚拟目录别名设置窗口中为建立的虚拟目录起一个名称,这个名字非常重要。如果我们的IP地址为10.91.30.45,虚拟目录名为softer的话,那么如果要访问该FTP虚拟目录发布的主目录的话需要输入ftp://10.91.30.45/softer才行。因此别名是非常重要的,需要我们牢记。(如图40)
图40
第四步:设置虚拟目录站点内容主目录,同样通过浏览按钮找到需要发布的路径即可。(如图41)
图41
第五步:设置虚拟目录访问权限。(如图42)
图42
第六步:完成虚拟目录创建向导,可以通过ftp://10.91.30.45/softer虚拟目录地址来访问建立的FTP了。(如图43)
图43
小提示:由于本次FTP主目录选择了NTFS格式的磁盘上,所以在建立的虚拟目录FTP站点目录内点鼠标右键选择“权限”后会出现权限指派窗口,我们根据实际情况对系统不同用户赋予不同权限就可以了。(如图44)
图44
总结:
IIS以往做为发布网站的利器,它的FTP功能被很多人所忽略,实际上其兼容性是非常不错的,省去了安装第三方工具的烦琐。不过IIS自身FTP也存在一定的缺点,一方面它的漏洞还是存在的,正如WINDOWS以往的组件一样。另一方面在用户帐户管理方面由于过分的依赖WINDOWS操作系统自身帐户使得在管理与建立帐户方面存在一定的先天缺陷,这也是为什么它一直不温不火的原因。
Windows中IIS内FTP服务器高级配置(图)
提到FTP服务器,可能大家都会想到Serv-U、vs-FTP等软件,其实微软内置在IIS里的FTP服务已经够用,不信请往下看。
实现对多用户的管理
首先需要取消“站点属性/允许匿名连接”,如图1。
接着进入“计算机管理/本地用户和组”,新建立一个组,这里建立为FTPuser,然后新建立一个用户FTP01,然后修改FTP01的属性,把它加入FTPuser组,去掉系统默认的users组。在NTFS格式分区下(这里为d盘)创建文件夹FTP01和FTP02,然后设置安全权限,如图2。
同样设置文件夹FTP02的权限为FTP02完全控制,当然这里可以按照实际情况分配不同用户不同的权限。回到IIS管理器,选择一个FTP站点“新建/虚拟目录/下一步”在别名处输入FTP01,选择“下一步”,路径选择刚刚创建的FTP01目录,选择“下一步”,同样新建一个虚拟目录FTP02,路径指向FTP02目录。这里注意的是:别名和目录名以及用户名3个必须完全一致。
测试一下:这里以IP为192.168.0.16为例,输入FTP://192.168.0.16,回车,提示输入用户和密码,输入FTP01及其密码,顺利进入,这时进入的只能是FTP01虚拟目录,可以上传一个文件,然后在服务器上查看一下是放置在哪个目录下就可判定了。同样,以FTP02登入,就进入了FTP02目录,用户被在自己的目录内不能进入他人目录,安全性还是有保障。如果用户需要能自己更改密码,则只需要在创建用户的时候,不选中图3所示的选项即可。
小提示:
客户端修改FTP账户密码的方法:
在命令提示符下输入:
FTP 192.168.0.16
输入用户名
输入密码
输入quote “site pswd 旧密码 新密码”
本方法优点:结合NTFS权限以及磁盘限额能很好地实现多用户的多样化管理。
本方法缺点:由于FTP用户密码是以明文的方式在网络上传输,所以不太安全,遗憾的是,IIS内置的FTP服务并不支持SSL,这一点比不上Serv-U。
实现Serv-U中的链接功能
这是利用路径解析原理实现的,算得上是MS-FTP的一个隐藏功能。首先在FTP站点根目录(这里为d盘)下创建一个文件夹,名为tools,在IIS管理器中,在FTP站点下创建一个虚拟目录,名为tools,路径指向f盘下的“工具”目录。注意这里的虚拟目录名必须和站点根目录下创建的文件夹名一致。
在客户端登录,这时不能使用FTP01、FTP02登录了,因为他们登录进去后直接到了站点根目录下的对应子目录下了,同时不能向上回到站点根目录,所以只能另外创建新用户,这里我创建了一个FTP03用户,登录进去发现除了可看见FTP01、FTP02目录外,还有其他目录,但是前面设置了FTP01,FTP02目录的权限,所以FTP03并不能访问他们,只是知道这些目录的存在而已。点击tools目录,您会发现自动指向了服务器的f盘下“工具”目录。
本方法优点:不用第三方工具实现了链接功能,在有多个驱动器可使用的情况下特别有用。如果是想链接到一个完整的分区,那么在站点根目录下创建一个文件夹,名字和驱动器号相同就可以了。
本方法缺点:需要创建额外的用户,如果FTP01这类用户想浏览其他磁盘上的内容就很难了。
自动更新FTP站点目录及文件列表
Windows有一个很有用的命令tree在这里可以大显身手了。如果FTP站点根目录是d,我们只要创建一个批处理文件,内容如下
tree /f /a d: >d:FTP.txt
然后添加一个任务计划,每小时运行一次。值得注意的是,添加完一个任务后必须进行高级设置才行,如图4所示。
这样设置好后,用户登录时可以先下载FTP.txt这个文件到本地看看是否有更新,这样可以节省用户一个目录一个目录去找更新的时间,尤其是网速较慢的情况下。对这个进行扩展一下,可以更节省用户的时间,还是得靠Windows另外一个有用的命令fc,编写如下批处理文件FTP更新.bat:
tree /f /a d: >d:FTPnew.txt
fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt
然后运行一次前面编写得FTP.bat,再运行一次FTP更新.bat,这时可以查看FTP更新列表.txt了,如果有更新的话,会以*****开头*****结尾的形式指出哪个目录有更新,更新的文件名是什么都列出来了,是不是更一幕了然呢。用户只需要首先下载FTP更新列表.txt查看就可以了,当然用户已经浏览过这个FTP站点,第一次浏览下载FTP.txt就可以了,如果嫌FTPnew.txt这个文件不应该出现在站点根目录下,也可以在编辑命令时指向其他位置即可。
如今在论坛上也见很多FTP列表,手工维护实在很麻烦,只要把FTP更新列表.txt放在一个Web路径下或专门为创建一个虚拟目录指向FTP更新列表.txt所在目录,那么我们就可以通过浏览器直接浏览这个文件,因为IE浏览器是可以直接解析txt文件的,所以不会提示下载。为了更好方便浏览者还可对FTP更新.bat进行补充,完整的FTP更新.bat内容如下:
tree /f /a d: >d:FTPnew.txt
fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt
echo 更新时间>> d:FTP更新列表.txt
date /t >> d:FTP更新列表.txt
time /t >> d:FTP更新列表.txt
然后添加一个计划任务,每小时执行一次这个批处理文件,这样浏览者不仅仅看到更新的内容,还知道更新的时间,下一次更新时间也可以自己推算出来了。如果经常登录这个FTP站点,还可以把这个地址加入收藏夹,不用登录FTP也能知道服务器是否有更新,有兴趣可访问http://test.yuanlin.cn/FTP列表更新.txt看看效果。
上面所涉及到的工具都是Windows自带的,没有使用任何第三方工具,其实Windows还有很多地方值得我们去深挖。
ftp操作常识问题集锦
1、什么是FTP?FTP有哪些功能?
FTP(File Transfer Protocol)是 Internet用来传送文件的协议(文件传输协议)。它是为了我们能够在Internet 上互相传送文件而制定的的文件传送标准,规定了Internet 上文件如何传送。也就是说,通过 FTP协议,我们就可以跟 Internet 上的 FTP服务器进行文件的上传(Upload)或下载(Download)等动作。
对于虚拟主机用户来说,FTP主要是用于将用户的网站上传至虚拟主机或者将网页从主机上下载至本地。
2、什么是匿名FTP?
匿名FTP是指登陆FTP服务器时,用户采用“anonymous”,口令为自己的Email地址就可以登陆。可以看出,匿名Ftp对任何用户都是敞开的,但登陆后用户的权限很低,一般只能从服务器下传文件,而不能上传或修改服务器上的内容,它可以有效地帮助网站的拥有者提供文件或软件供 Internet上的用户下传。
注意:目前万网的虚拟主机都不支持匿名FTP.
3、用户可以通过FTP的办法到我的虚拟主机上传或下传文件吗?
如果要想让每一个用户都有上传或下传的功能,则我们需要开通用户匿名的权限,但由于此权限的级别非常低,以确保主机和您网站的安全性,我们现在没有开通此项功能。
4、什么是FTP断点续传?
有时用户通过FTP下传文件需要历时数小时,万一线路中断,不具备FTP断点续传的FTP服务器就只能从头重传;中国万网“虚拟主机”上的FTP服务器具有FTP断点续传能力,允许用户从上传断线的地方继续传动,这样大大减少了用户的烦恼。
5、通过哪些方式可以进行FTP操作?常用的FTP软件有哪些?
(1)可以通FTP软件,DOS方式,IE浏览器等方式进行FTP,大多数都是利用FTP软件进行FTP的管理。
(2)FTP软件包括:cuteftp,Leapftp,flashFXP等等。Dreamwave,以及Frontpage也有上传网页的功能。
万网首页提供CuteFTP 下载:首页——客户中心——技术支持——软件下载——CuteFTP下载,请点击:Cute_FTP
6、上传网页的路径是什么?
UNIX主机上传到:htdocs目录下;NT主机上传到根目录下。
7、Cute_FTP使用手册
请到万网首页-客户中心-技术支持-其他问题中参看Cuteftp使用说明。
链接为:CuteFTP使用说明
8、DOS方式下FTP的使用
可以使用WIN98下的MS-DOS方式。或windows2000附件中的命令提示符下,输入
C: >FTP 域名
USER NAME: 管理员帐号
PASSWORD: 口令
FTP>PUT
LOCAL FILE: filename
REMOTE FILE: filename
即可上传
下载时使用GET命令
9、FTP常用命令
Ftp命令的功能是在本地机和远程机之间传送文件。该命令的一般格式如下:
c:> ftp 主机名/IP
最常用的命令有:
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
get(mget) 从远程机传送指定文件到本地机
put(mput) 从本地机传送指定文件到远程机
open 连接远程ftp站点
quit 断开与远程机的连接并退出ftp
? 显示本地帮助信息
