中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220054-02
提到FTP服务器,可能大家都会想到Serv-U、vs-FTP等软件,确实,Serv-U是一种被广泛运用的FTP服务器端软件,支持全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。微软内置在IIS5中的FTP服务功能有限,但是在IIS6.0里的FTP服务已经够用了,结合NTFS权限以及磁盘限额能很好地实现多用户的多样化管理,获得不亚于Serv-U FTP服务器的功能。
一、FTP服务概述
FTP(File Transfer Protocol)是文件传输协议,是TCP/IP模型应用层协议,是Internet上使用得最广泛的文件传送协议。FTP服务是IIS5.0和IIS6.0中的一个组件,利用FTP服务可以实现最基本的文件传输功能。如果用户要将一个文件从自己的计算机发送到FTP服务器上,称为FTP的上载(Upload)或上传。更多的情况是用户从服务器上把文件或资源传送到客户机上,称为FTP的下载(Download)。FTP提供交互式的访问,FTP的最大特点就在于它可在不同的操作系统间使用。
IIS的FTP Server充当文件传输的服务器端,允许客户从服务器下载或传输文件。
FTP服务器使用21作为默认的TCP端口。
二、安装FTP服务
在Windows Server 2003中配置FTP服务器需要安装IIS6.0的FTP服务组件。在Windows Server 2003中,默认状态下是没有安装IIS6.0的。在Windows Server 2003中安装IIS6.0的步骤是:
第1步:在“控制面板”中双击“添加或删除程序”图标,在打开的“添加或删除程序”对话框中单击“添加/删除Windows组件”按钮,打开“Windows组件向导”对话框。
第2步:在“组件”列表中找到并双击“应用程序服务器”复选框,在打开的“应用程序服务器”对话框中双击“Internet信息服务(IIS)”选项,打开“Internet信息服务(IIS)”对话框。在子组件列表中找到并勾选“文件传输协议(FTP)服务”复选框,依次单击“确定/确定/下一步”按钮开始安装,在安装过程中需要插入Windows Server 2003的安装光盘或指定安装源文件,最后单击“完成”按钮结束安装过程。
IIS6.0安装完后,“默认FTP站点”就自动安装了。可以直接使用“默认FTP站点”。
当用户登录“默认FTP站点”时,不论是利用匿名帐户,还是利用正式的帐户,登录后都将被直接转向到默认的主目录,访问主目录内的文件。也就是所有用户使用相同的文件夹。
而且用户登录“默认FTP站点”后,默认情况下都不具有“写入”权限。显然,“默认FTP站点”作为FTP服务器,其功能太有限了,这不是我们所希望的。
为了方便使用,我们所建立的FTP站点不仅应该允许匿名用户访问,还应允许身份验证登录访问;用户不仅应该有自己的主目录,每个用户的主目录还应该是相互隔离的;用户对主目录不仅拥有“读取”权限,有的用户还应该拥有“写入”的权限。除此之外,每个用户使用的空间还应该是可以限制的。为了实现这些功能,我们需创建一个'用户隔离'模式的FTP站点。“隔离用户”是IIS 6.0中FTP组件的一项新增功能。配置成“用户隔离”模式的FTP站点可以使用户登录后直接进入属于该用户的目录中,且该用户不能查看或修改其他用户的目录。
三、创建用户账户
首先在FTP站点所在的Windows Server 2003服务器中为FTP用户创建一些用户账户,以便他们使用这些账户登录FTP站点。操作步骤如下所述:
第1步:在桌面上用鼠标右键单击“我的电脑”,在弹出的快捷菜单中执行“管理”命令。
第2步:打开“计算机管理”窗口,在左窗格中展开“本地用户和组”目录。然后用鼠标右键单击所展开目录中的“用户”文件夹,在弹出的快捷菜单中执行“新用户”命令,打开“新用户”对话框。
第3步:在相关编辑框中键入用户名(如“user1”)和密码,取消“用户下次登录时须更该密码”选项并勾选“用户不能更该密码”和“密码永不过期”两项,最后单击“创建”按钮(如图1)。
第4步:这时会弹出下一个“新用户”对话框,根据需要添加若干个用户。假设这里创建了user1和user2两个用户,创建完毕后单击“关闭”按钮即可。
四、创建目录结构
1.用本地帐户来登录FTP站点。创建了一些用户账户后,开始了另一项关键性操作:规划文件夹结构(说白了就是创建一些文件夹)。
为什么说创建文件夹的操作很关键呢,这是因为创建“用户隔离”模式的FTP站点对文件夹的名称和结构有一定的要求。首先必须在NTFS分区中创建一个文件夹作为FTP站点的主目录(如“ftproot”),然后在“ftproot”文件夹下创建一个名为“LocalUser”的子文件夹,最后在“LocalUser”文件夹下创建若干个跟用户账户一一对应的个人文件夹。FTP站点主目录下的子文件夹名称必须为“LocalUser”,且在其下创建的用户文件夹必须跟相关的用户账户使用完全相同的名称,否则将无法使用该用户账户登录。
另外,如果想允许用户使用匿名方式登录“用户隔离”模式的FTP站点,则必须在“LocalUser”文件夹下面创建一个名为“Public”的文件夹。这样匿名用户登录以后即可进入“Public”文件夹中进行读写操作(如图2)。
2.用域用户帐户来登录FTP。如果是利用域用户帐户来登录FTP站点,则在主目录下除了要创建一个名为“LocalUser”的子文件夹外,还要创建一个以域名为名字的文件夹,并在其下为域用户创建对应的子文件夹。同样,如果想允许用户使用匿名方式登录“用户隔离”模式的FTP站点,则必须在“LocalUser”文件夹下面创建一个名为“Public”的文件夹。如果FTP服务器所在的域的域名是domain,域中的用户是user1、user2等,那么FTP站点的目录结构如图3所示。
五、创建FTP站点
至此所有的准备工作都完成了,接下来是读者最为关心的核心环节:创建“用户隔离”模式的FTP站点。具体设置步骤如下所述:
第1步:依次单击“开始/管理工具/Internet信息服务(IIS)管理器”,打开“Internet信息服务(IIS)管理器”窗口。在左窗格中用鼠标右键单击“FTP站点”选项,在弹出的快捷菜单中执行“新建/FTP站点”命令,打开“FTP站点创建向导”向导页,并单击“下一步”按钮。
第2步:在打开的“FTP站点描述”向导页中键入一行描述性语言(如“用户隔离模式的FTP站点”),并单击“下一步”按钮。
第3步:打开“IP地址和端口设置”向导页,在“输入此FTP站点使用的IP地址”下拉菜单中选中一个用于访问该FTP站点的IP地址。端口保持默认的“21”,单击“下一步”按钮。
第4步:在打开的“FTP用户隔离”向导页中点选“隔离用户”单选框,并单击“下一步”按钮(如图4)。
第5步:打开“FTP站点主目录”向导页,单击“浏览”按钮找到事先创建的“ftproot”文件夹,并依次单击“确定/下一步”按钮。
第6步:在打开的“FTP站点访问权限”向导页中勾选“写入”复选框,然后依次单击“下一步/完成”按钮完成创建。
六、权限设置
FTP站点建立好后,我们还需要为每个用户的主目录设置权限。选择用户的主目录,弹右键点“共享和安全”,在“组或用户名称”框下点击“添加”按钮,在弹出的“选择用户或组”对话框中输入与该主目录对应的用户名并确定,这样就把该主目录对应的用户添加进来了。结果如图5所示。
如果要允许该用户拥有“写入”权限,就在上图中“允许”下勾选“完全控制”就可以了。如果只赋予用户“读取”权限,那么这整个“权限设置”这一部分就不用操作了。
如果要限制FTP用户使用的磁盘空间,可以启用磁盘配额管理,如图6所示,限制FTP用户上传文件使用的空间为5MB,当使用量达到4MB时会给出提示。
七、结束语
至此,“隔离用户”模式的FTP站点创建完成了。本方法优点:结合NTFS权限以及磁盘限额能很好地实现多用户的多样化管理,本方法缺点:由于FTP用户密码是以明文的方式在网络上传输,所以不太安全,遗憾的是,IIS内置的FTP服务并不支持SSL,这一点比不上Serv-U。
作者简介:
王洪平,男,2000年重庆大学计算机及应用专业本科毕业,2008年四川大学软件工程硕士毕业,现为南充职业技术学院计算机科学系讲师。