提到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目录。注意:别名、目录名和用户名必须完全相同。
测试:这里以192.168.0.16的IP为例,输入FTP://192.168.0.16,回车,提示输入用户名和密码,输入FTP01及其密码,顺利进入。这个时候你只能进入FTP01虚拟目录,可以上传一个文件,然后检查它放在服务器上的哪个目录来确定。同样,当您使用FTP02登录时,您会进入FTP02目录。用户被限制在自己的目录里,不能进入别人的目录,安全性还是有保障的。如果用户需要能够更改他们的密码,他们只需要在创建用户时取消选中图3所示的选项。
选择“用户不能更改密码”
小贴士:
客户端修改FTP账号密码的方法:
在命令提示符下,输入:
FTP 192.168.0.16
输入用户名和密码。
输入引用“站点pswd旧密码新密码”
这种方法的优点是:结合NTFS权限和磁盘配额,可以很好地实现多用户的多样化管理。
这种方式的缺点:由于FTP用户密码在网络上是明文传输的,所以不是很安全。可惜IIS内置的FTP服务不支持SSL,不如SERV-U
这是通过路径解析的原理实现的,可以看作是MS-FTP的一个隐藏功能。首先,在FTP站点的根目录下(这里是驱动器D)创建一个名为tools的文件夹。在IIS管理器中,在FTP站点下创建一个名为tools的虚拟目录,路径指向驱动器f下的“Tools”目录,注意这里的虚拟目录名必须与站点根目录下创建的文件夹名一致。
当客户端登录时,他们不能使用FTP01和FTP02登录。因为他们登录后直接进入站点根目录下对应的子目录,无法回到站点根目录,所以只能新建用户。在这里,我创建了一个FTP03用户。登录后发现除了FTP01和FTP02还有其他目录,但是FTP01和FTP02目录的权限设置在前面,所以FTP03无法访问。点击工具目录,你会发现它自动指向服务器的F盘下的“工具”目录。
该方法的优点在于,在不使用第三方工具的情况下实现链接功能,并且当可以使用多个驱动程序时,该方法特别有用。如果您想要链接到一个完整的分区,只需在站点的根目录下创建一个具有相同名称和驱动器号的文件夹。
这种方法的缺点:如果像FTP01这样的用户想在其他磁盘上浏览,需要创建额外的用户。
自动更新FTP站点目录和文件列表
Windows有一个很有用的命令,tree,可以用在这里。如果FTP站点的根目录是D,我们只需要创建一个包含以下内容的批处理文件
tree /f /a d: d:FTP.txt
然后添加每小时运行的任务计划。值得注意的是,添加任务后,必须进行高级设置,如图4所示。
这样设置好之后,用户可以在本地下载文件FTP.txt,看看登录时有没有更新,这样可以节省用户一个目录一个目录的搜索更新的时间,尤其是在网速较慢的情况下。扩展一下这个,可以为用户节省更多的时间,或者还得依靠Windows的另一个有用的命令fc来写下面的批处理文件FTP来更新。蝙蝠:
tree /f /a d: d:FTPnew.txt
fc/L d:FTP . txt d:FTP new . txt d:FTP update list . txt
然后运行之前写的FTP.bat,然后运行FTP更新。再次击球。此时,您可以查看FTP更新列表。txt。如果有更新,会以* * * * * * *和* * * *结尾的形式表示更新了哪个目录。所有更新的文件名都会列出。一个场景不是更清晰吗?用户只需要下载FTP更新列表。txt先查看一下。当然,用户已经浏览过这个FTP站点了,第一次浏览下载FTP.txt还是可以的。如果FTPnew.txt文件不应该出现在站点的根目录中,它们也可以在编辑命令时指向其他位置。
现在论坛里FTP列表很多,手动维护真的很麻烦。只要你把FTP更新列表。或者指向FTP更新列表所在的目录。txt是专门用来创建虚拟目录的,那么我们可以通过浏览器直接浏览这个文件。因为ie浏览器可以直接解析txt文件,所以不会提示你下载。为了让浏览器更方便,FTP更新了。bat可以补。完整的FTP更新。bat内容如下:
tree /f /a d: d:FTPnew.txt
fc/L d:FTP . txt d:FTP new . txt d:FTP update list . txt
更新时间d:FTP更新列表. txt
Date /t d:FTP更新列表. txt
Time /t d:FTP更新列表. txt
然后添加一个定时任务,每小时执行一次这个批处理文件,这样访问者不仅可以看到更新的内容,还可以知道更新的时间,下次更新的时间可以自己计算。如果经常登录这个FTP站点,也可以把这个地址加入收藏夹,不用登录FTP就可以知道服务器是否更新过。
以上涉及的所有工具都是Windows自己的,没有使用任何第三方工具。其实Windows还有很多地方值得我们去深挖。