IIS中FTP设置用户和密码实现多用户管理

发布 2019-05-24 12:09:15 阅读 1654

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为例,输入回车,提示输入用户和密码,输入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: >

然后添加一个任务计划,每小时运行一次。值得注意的是,添加完一个任务后必须进行高级设置才行,如图4所示。

这样设置好后,用户登录时可以先**这个文件到本地看看是否有更新,这样。

可以节省用户一个目录一个目录去找更新的时间,尤其是网速较慢的情况下。对这个进行扩展一下,可以更节省用户的时间,还是得靠windows另外一个有用的命令fc,编写如下批处理文件ftp更新。bat:

tree /f /a d: >

fc /l >d:ftp更新列表。txt

然后运行一次前面编写得再运行一次ftp更新。bat,这时可以查看ftp更新列表。txt了,如果有更新的话,会以***开头***结尾的形式指出哪个目录有更新,更新的文件名是什么都列出来了,是不是更一幕了然呢。

用户只需要首先**ftp更新列表。txt查看就可以了,当然用户已经浏览过这个ftp站点,第一次浏览**就可以了,如果嫌这个文件不应该出现在站点根目录下,也可以在编辑命令时指向其他位置即可。

如今在论坛上也见很多ftp列表,手工维护实在很麻烦,只要把ftp更新列表。txt放在一个web路径下或专门为创建一个虚拟目录指向ftp更新列表。txt所在目录,那么我们就可以通过浏览器直接浏览这个文件,因为ie浏览器是可以直接解析txt文件的,所以不会提示**。

为了更好方便浏览者还可对ftp更新。bat进行补充,完整的ftp更新。bat内容如下:

tree /f /a d: >

fc /l >d:ftp更新列表。txtecho更新时间》 d:

ftp更新列表。txtdate /t >>d:ftp更新列表。

txttime /t >>d:ftp更新列表。txt

然后添加一个计划任务,每小时执行一次这个批处理文件,这样浏览者不仅仅看到更新的内容,还知道更新的时间,下一次更新时间也可以自己推算出来了。如果经常登录这个ftp站点,还可以把这个地址加入收藏夹,不用登录ftp也能知道服务器是否有更新,有兴趣可访问列表更新。txt看看效果。

上面所涉及到的工具都是windows自带的,没有使用任何第三方工具,其实windows还有很多地方值得我们去深挖。