ftp实现用户隔离和权限划分我们都知道,IIS6.0相比WindowsServer2000的IIS5.0,有着显著的进步,其中我最看好的是WEB服务中的主机头标和FTP中的用户隔离。(关于IIS6.0的新特性,可以参阅文档可能为英文)然而,我在实际中发现如何实现FTP中的用户隔离以及权限的划分对于很多网络管理员来说并非易事,下面我结合图例和实际中的做法来跟大家谈谈这个问题,期收到抛砖引玉之作用。一、什么是用户隔离。传统的FTP只能实现用户上传下载之功能,而用户隔离指的是这样一种情况,假设有三个用户:Alice,Bob,公众用户,我们现在希望能实现这样一种功能,Alice进入FTP站点以后,只能够看到自己的文件,并且对这一文件夹有着修改权限;同样的,Bob进入FTP站点之后也是只能够看到自己的文件,并且对这一文件夹有着修改权限;而其他用户,也就是client只能够看到其他文件并且对FTP站点只有读取权限。二、如何实现。其实,实现这一点并不困难,这里我主要以截图的形式稍作讲解,我们主要是探讨权限的变化。1、安装IIS,尤其是FTP组件。2、在本地计算机上面创建需要隔离用户的用户名,如Alice,Bob。3、设置你的FTP。注意:这里格式请务必设为:C:/ftp/localuser然后,以创建的帐户为文件夹名称,client使用public这个文件夹,这一点非常重要,否则你的FTP隔离用户是无法实现的。这里输入C:/ftp浏览我们的站点:地址这时,你无需输入用户名密码看到的是public.txt这个文件,也就是说,client都可以看到的位置。如果alice登录上来怎么办呢?点击登录,输入alice的用户名和密码,也就是你刚才在本地创建的那个用户名和密码:OK,可以看到alice的文件了。BOB亦是如此:二、实现不同用户权限的划分:通过刚才的描述,我相信大家对隔离用户应当明白了,那么我还想实现第二个目的,权限的划分,也就是说alice登录上来以后,对自己的“一片天地”具有写入和删除的权限,也就是修改的权限;而client上来之后(无需输入用户名密码)只能读,这一点又怎么实现呢?我相信很多人都是这么做:这样果真可以吗?经过我的实验,如果你这样做的话,实际上情况成了这样。client上来之后(无需输入用户名密码)也可以修改当前的公有目录。看来这样肯定是不行的,究竟原因出在哪里了呢?怎样才能实现我们的需求呢?三、问题探究与解决。权限是什么?权限就是你在我这个上面能做些什么,英语为permission,跟权力是有区别的,权力在英语中是rights.转到我们的FTP目录,我们来关注一下权限的设置:乍一看,好像是没有什么特别之处,不过请大家仔细看看,还是有特别之处的,最后有一个特别的权限,咦?这是什么啊?不妨打开看看。原来如此,我相信这时大家应当明白了,当你在IIS的FTP站点中设置写入权限时,FTP这个文件夹便会新增加一条特殊的权限设置,也就是上面截图所示,又因为默认情况下,权限一层一层继承,所以,我们最终的public这个文件夹也会有这个特殊的权限,因此client就可以在其中写入数据了。知道了这一点就好办多了,我们将其取消,然后,给alice和BOB自己的写入权限就OK了,如下图所示:断开继承关系:删除那个特殊的权限设置:这时,client已经没有办法在写入数据了给alice和bob添加自己的权限:可以看到,这时,bob和alice登入之后对自己的“一片天地”已经有写入权限。当然,如果你上面对alice和bob各自的文件夹设置为拥有自己的修改权限时,他们也就可以删除文件了,如图:可以看到,成功删除!