我们都知道,IIS6.0相比Windows Server 2000的IIS5.0,有着显著的进步,其中我最看好的是WEB服务中的主机头标和FTP中的用户隔离。(关于IIS6.0的新特性,可以参阅点我进入文档可能为英文)然而,我在实际中发现如何实现FTP中的用户隔离以及权限的划分对于很多网络管理员来说并非易事,下面我结合图例和实际中的做法来跟大家谈谈这个问题,期收到抛砖引玉之作用。

一、什么是用户隔离。

传统的FTP只能实现用户上传下载之功能,而用户隔离指的是这样一种情况,假设有三个用户:Alice,Bob,公众用户,我们现在希望能实现这样一种功能,Alice进入FTP站点以后,只能够看到自己的文件,并且对这一文件夹有着修改权限;同样的,Bob进入FTP站点之后也是只能够看到自己的文件,并且对这一文件夹有着修改权限;而其他用户,也就是client只能够看到其他文件并且对FTP站点只有读取权限。

二、如何实现。

其实,实现这一点并不困难,这里我主要以截图的形式稍作讲解,我们主要是探讨权限的变化。
1、安装IIS,尤其是FTP组件。

安装IIS1.jpg

安装IIS2.jpg

安装IIS3.jpg

安装IIS4.jpg

安装IIS5.jpg

2、在本地计算机上面创建需要隔离用户的用户名,如Alice, Bob。

创建用户1.jpg

创建用户2.jpg

创建用户3.jpg

创建用户4.jpg

3、设置你的FTP。
注意:这里格式请务必设为:C:\ftp\localuser 然后,以创建的帐户为文件夹名称,client使用public这个文件夹,这一点非常重要,否则你的FTP隔离用户是无法实现的。这里输入C:\ftp
浏览我们的站点:ftp://<IP地址>
这时,你无需输入用户名密码看到的是public.txt这个文件,也就是说,client都可以看到的位置。
如果alice登录上来怎么办呢?
点击登录,输入alice的用户名和密码,也就是你刚才在本地创建的那个用户名和密码:OK,可以看到alice的文件了。

BOB亦是如此:

三、实现不同用户权限的划分

通过刚才的描述,我相信大家对隔离用户应当明白了,那么我还想实现第二个目的,权限的划分,也就是说alice登录上来以后,对自己的“一片天地”具有写入和删除的权限,也就是修改的权限;而client上来之后(无需输入用户名密码)只能读,这一点又怎么实现呢?
我相信很多人都是这么做:

FTP用户隔离.jpg

这样果真可以吗?经过我的实验,如果你这样做的话,实际上情况成了这样。
client上来之后(无需输入用户名密码)也可以修改当前的公有目录。

FTP用户隔离测试.jpg

看来这样肯定是不行的,究竟原因出在哪里了呢?怎样才能实现我们的需求呢?

四、问题探究与解决。

权限是什么?权限就是你在我这个上面能做些什么,英语为permission,跟权力是有区别的,权力在英语中是rights.
转到我们的FTP目录,我们来关注一下权限的设置:

FTP用户权限设置1.jpg

乍一看,好像是没有什么特别之处,不过请大家仔细看看,还是有特别之处的,最后有一个特别的权限,咦?这是什么啊?不妨打开看看。

FTP用户权限设置2.jpg

FTP用户权限设置3.jpg

原来如此,我相信这时大家应当明白了,当你在IIS的FTP站点中设置写入权限时,FTP这个文件夹便会新增加一条特殊的权限设置,也就是上面截图所示,又因为默认情况下,权限一层一层继承,所以,我们最终的public这个文件夹也会有这个特殊的权限,因此client就可以在其中写入数据了。

FTP用户权限设置4.jpg

知道了这一点就好办多了,我们将其取消,然后,给alice和BOB自己的写入权限就OK了,如下图所示:

断开继承关系:

FTP用户权限设置5.jpg

删除那个特殊的权限设置:

FTP用户权限设置6.jpg

这时,client已经没有办法在写入数据了

FTP用户权限设置7.jpg

给alice和bob添加自己的权限:

FTP用户权限设置8.jpg

FTP用户权限设置9.jpg

可以看到,这时,bob和alice登入之后对自己的“一片天地”已经有写入权限。

FTP用户权限设置10.jpg

当然,如果你上面对alice和bob各自的文件夹设置为拥有自己的修改权限时,他们也就可以删除文件了,如图:

FTP用户权限设置11.jpg

FTP用户权限设置12.jpg

FTP用户权限设置13.jpg

可以看到,成功删除。

在Windows 2003 IIS下FTP如何用户权限设置?下面说说具体设置的步骤。
在桌面上第二世界整理发布右击“我的电脑”,执行“管理”命令,在“计算机管理”窗口的左窗格中依次展开“系统工具”→“本地用户和组”目录,单击选中“用户”选项。在右侧窗格中单击右键,执行“新用户”命令。在打开的“新用户”对话框中填写用户名(如newuser),并设定密码。然后取消“用户下次登录时需更改密码”复选框,并勾选“用户不能更改密码”和“密码永不过期”复选框,单击“创建”按钮完成该用户的添加。重复这一过程添加其他用户,最后单击“关闭”按钮即可。

为方便对这些用户的管理,最好将他们放入一个专门的组中。例如我们可以创建一个“FTPUsers”组:在“计算机管理”窗口的目录树中单击选中“组”选项,然后在右侧窗格中单击右键,执行“新建组”命令,并将该组命名为“FTPUsers”。接着依次单击“添加”→“高级”→“立即查找”按钮,将刚才创建的用户全部添加进来,最后依次单击“创建”→“结束”按钮。 然而事情并没有完,因为上述创建的用户默认隶属于“Users”组,也就是说他们拥有对大部分资源的浏览权限。为了实现对特定资源的有效管理,需要将这些用户从“Users”组中删除。在“计算机管理”窗口的右侧窗格中双击“Users”选项,用鼠标拖选所有刚添加的用户并单击“删除”按钮即可。

设置独立权限

这里的权限设置需要分两部分来进行,即对FTP服务器主目录的权限设置和对各个用户文第二世界整理发布件夹的权限设置。假设FTP服务器的主目录路径为“G:/FTPServer”,我们先来取消“FTPUsers”组的用户对“FTPServer”文件夹的“写入 ”权限。右击“FTPServer”文件夹,执行“属性”命令。在打开的“FTPServer 属性”对话框中切换至“安全”选项卡下,然后依次单击“添加”→“高级”→“立即查找”按钮,单击选中“FTPUsers”组并依次单击“确定”按钮回到“FTPServer 属性”对话框。接着在“FTPUsers的权限”列表框中勾选“拒绝写入”复选框。为了使“拒绝写入”权限仅对“FTPServer”文件夹有效,还需要单击“高级”按钮,在“FTPServer的高级安全设置”对话框中双击“权限列表”中的“拒绝FTPUsers写入”选项,打开“FTPServer的权限设置”对话框。在“应用到”下拉列表中选中“只有该文件夹”选项,连续单击“确定”按钮完成设置。

接着我们为每个用户创建独立的文件夹(以用户名命名),并针对每个文件夹赋予相应用户适当的权限。以文件夹“newuser”为例,在“newuser属性”对话框的“安全”选项卡下将用户“newuser”添加进来,并赋予其读取和写入的权限。同理,对于其他文件夹,也只赋予相应用户读取和写入的权限。

小提示:需要受到权限保护的文件夹必须在NTFS分区中创建,FAT32分区内的资源无法设置权限。

至此,设置工作就全部结束了。在任意一台机器上以用户“newuser”的身份登录FTP服务器,你会发现该用户只能在“newuser”文件夹中任意读写,而无法看到主目录和其他用户目录的内容。

如果觉得我的文章对你有用,请随意赞赏