基于IIS6的FTP服务部署隔离用户.docx
《基于IIS6的FTP服务部署隔离用户.docx》由会员分享,可在线阅读,更多相关《基于IIS6的FTP服务部署隔离用户.docx(50页珍藏版)》请在冰豆网上搜索。
![基于IIS6的FTP服务部署隔离用户.docx](https://file1.bdocx.com/fileroot1/2022-11/28/6f4007ca-a507-41ff-b8bc-abcb0e383f0c/6f4007ca-a507-41ff-b8bc-abcb0e383f0c1.gif)
基于IIS6的FTP服务部署隔离用户
基于IIS6的FTP服务部署
2009年5月6日制作
脚本之家目录
一、基本概要3
二、配置“不分隔用户”4
2.1、需要实现的功能4
2.2、安装FTP服务器4
2.3、建立FTP用户5
2.4、建立FTP的目录结构6
2.5、创建FTP站点7
2.6、按要求设置匿名用户权限9
2.7、按要求设置USER01用户权限12
2.8、针对目录实现限制可写空间14
2.9、测试“不隔离用户”结果18
三、配置“隔离用户”19
3.1、需要实现的功能19
3.2、建立FTP的目录结构19
3.3、创建FTP站点及用户19
3.4、按要求设置用户权限21
3.5、用户登陆效果21
3.6、补充虚拟目录22
3.7、用域名登陆FTP24
3.8、总结注意点25
四、配置“用ActiveDirectory隔离用户”25
4.1、需要实现ActiveDirectory隔离用户的功能26
4.2、用DNS创建别名ftp.qxdc.ad访问FTP的方法26
4.3、在DC01上建立FTP的目录结构27
4.4、创建user01和user02用户27
4.5、按要求设置用户权限28
4.6、建立AD隔离用户FTP并进行相关设置28
4.7、用工具设置用户帐户的根目录和主目录31
4.8、“ActiveDirectory隔离用户”模式的FTP站点启用匿名访问33
五、总结35
六、附录36
6.1默认本地组权限36
6.2、任何认证用户都是Users组的成员38
6.3、Anonymous组不再是Everyone组的成员38
6.4、AnonymousLogon组中的成员成为本地计算机上Everyone组中的成员38
6.5、公认的安全标识符(特殊标识符)38
6.6、为配置为“用ActiveDirectory隔离用户”模式的FTP站点启用匿名访问39
6.7、使用Adsutil.vbs管理脚本39
一、基本概要
IIS(InternetInformationServer,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
而IIS6是微软捆绑在WindowsServer2003中发布的一款优秀的Web服务器组件,大家平时都是用IIS6来建立WEB站点,很少有人用IIS6所附带的FTP服务器功能来建立FTP站点,提供FTP上传下载服务。
经过一段时间的研究发现IIS6所带的FTP服务器功能并不比其他专业服务器软件逊色,而且由于其用户管理和Windows的用户管理整合在一起,与Windows有更好的整合性,使其变得更加安全。
可惜的是很多Windows用户并不了解IIS中FTP服务的使用方法,本文将详细介绍如何使用IIS6中FTP服务器进行配置。
(脚本之家整理:
)
IIS6的FTP服务器没有被广泛应用的一个主要原因是IIS6管理控制台中并没有显式的FTP用户管理界面,这导致网管们更愿意使用诸如ServU一类具有强大图形管理界面的FTP服务器软件。
然而在很多情况下安装ServU软件需要更多的安全性维护,在需求能够满足的情况下使用IIS自带的FTP服务器是更好的选择方案。
IIS自带的FTP服务器自从IIS6的发布后,就加强了FTP服务器的用户管理能力,将FTP服务器分为“不分隔用户”(DoNotIsolateUsersMode)、“隔离用户”(IsolateUsersMode)和“用ActiveDirectory隔离用户”(IsolateUsersUsingActiveDirectoryMode)。
“不分隔用户”模式主要是为了兼容IIS原有的工作机制,不启用FTP用户隔离虽然使用简单,但是可能存在安全问题特别是多用户的管理会变得比较麻烦,不过其可以使用本地用户帐户和域用户账户,注意这点很多文章中没有提到。
“隔离用户”模式和“用ActiveDirectory隔离用户”是在IIS6以后提出的新型FTP用户管理机制,分别可以使用本地用户和ActiveDirectory域用户分配FTP服务。
“隔离用户”模式中FTP中的用户只可以使用本地用户帐户。
经过实验每个用户均被锁定在与用户帐户同名目录中。
不允许用户浏览自己主目录外的内容,如果需要浏览,则需要使用虚拟目录功能。
而“用ActiveDirectory隔离用户”是将FTP用户管理和域用户管理集成在一起,通过域对象管理可以方便的修改用户所拥有的FTP资源,便于建设一个完全基于域的的资源共享网络。
当然其也有些不足,因为该模式需要在WindowsServer2003家族的操作系统上运行ActiveDirectory服务器。
就是说这个功能只能安装在DC上。
不想在DC上安装这个服务的管理员就不能使用这个功能了,所以我建议使用“隔离用户”模式。
实验拓朴图,实验的网络结构就如下图1.11。
图1.11网络拓朴图
二、配置“不分隔用户”
2.1、需要实现的功能
我们先来做第一个实验。
在做实验之前先看一下我们要实现的FTP功能。
如图2.11。
图2.11实验要求
2.2、安装FTP服务器
在DC02上安装IIS的FTP服务器。
如果你已经会安装的话,就可以跳过这个步骤。
如图2.12所示。
图2.22FTP的安装01
按照上图进行选择安装。
等待。
。
。
。
。
。
图2.22FTP的安装02
图2.22FTP的安装03
删除默认FTP站点,在“默认FTP站点”上右键单击,删除。
如图2.13所示。
图2.23
2.3、建立FTP用户
刚刚已经在DC02上创建了FTP服务器了,那么我想还是先创建一些要用到的用户吧。
我现在是在域里实验,所以我就在DC01(域控上)创建用户。
在DC01上创建用户USER01,我的DC01已建立了域,所以创建的界面会有一点点不同,当然了微软的软件好的地方就是有很强的操作界面和向导,所以只要按向导操作就行了。
在这里已经建立了一个名字为“特殊用户”的OU,我为了方便就将这个USER01用户建立了这个OU里了。
接下来就看图吧。
如图2.31所示。
在FTP客户端用USER01用户上登陆时,使用“用户名+域名”,即user01@qxdc.ad做为用户名进行登陆。
这点与本地用户有点不同。
接下来我们就来看如何在域上建立用户吧。
当然如果你已会了就可以跳过去了。
省得看着烦*_^
图2.31创建域的用户账户
2.4、建立FTP的目录结构
现在我们又回到DC02上,在DC02上按要求建立FTP的目录结构。
我就建立在R盘了。
如图2.41所示。
图2.41所示。
2.5、创建FTP站点
在“FTP站点”上右击单击选择“新建”里的“FTP站点”。
进行建立“不分隔用户”
按下图向导进行操作。
在描述里输入你要建立的FTP站点的名字,我这在里就直接用FTP为名字了。
当然了最后就是完成了。
按以上步骤就建立了一个“不隔离用户”的FTP站点。
建立好后,就可以试试能不能用FTP登陆了。
(脚本之家整理:
)
2.6、按要求设置匿名用户权限
接下来还是在DC02上继续操作哦。
如果不设置权限,那么这时匿名用户登陆就是可以进行写入操作的,所以要设置一下权限了。
(这个总不会问我为什么吧!
如果实在不明白可以看前面的操作,我是加了写入权限的)首先在FTP目录上右键单击选择“属性”(这里忘记说了,这个分区一定要NTFS格式哦)。
出现对话框。
单击“安全”选项卡。
出现如下图界面。
然后单击“高级”。
按图操作。
A单击“复制”,出现下图界面,然后删除其余用户,只留下administrator。
B、单击“添加”添加需要的用户权限。
(注意:
如果在这里你没有对FTP目录进行权限设置,而是对FTP目录里的子目录进行相对应的权限设置,会产生隔离用户的效果。
有问题可以参考Windows的权限设置,当然还是Google了。
)
C、单击“位置”在正确的位置进行查找用户,当然如果你的只有本机用户,那么一般是不需要单击这个地方的。
单击“高级”,再只需要单击“立即查找”,找到IUSR_QXDC02这个用户,就是匿名用户。
(IUSR_computername其中computername为FTP服务器的计算机名,本机为QXDC02),最后单击“确定”
D、给匿名用户需要的权限,如图。
再确定。
E、单击“确定”。
F、单击“确定”。
这样子再匿名方式登陆FTP,只有下载权限,不能上传和修改或删除。
当然添加用户权限的方法很多。
可以使用自己喜欢的操作方式。
接下来我们再给USER01用户添加对USER01目录的写入权限。
2.7、按要求设置USER01用户权限
到了这里也还是在DC02上进行设置的。
同样的方法给FTP目录添加USER01的修改和读取及写入权限。
操作过程可以与2.6里的B--F相同的方法进行设置。
当然也可以参照下面的方法进行设置,其实结果都是一样的了。
到了这里权限部分就设置好了。
用不同用户登陆后就有不同的权限。
在这里我是用域的用户来做的,如果是本地用户也是一样的操作过程。
另外题目要求将USER01用户对不同目录实现限制可写空间。
所以还需要设置空间配额部分。
接下来就让我们来看一下如何设置这个配额。
这个是针对目录的空间配额,而不是对整个分区的哦。
所以请大家再接着继续看。
2.8、针对目录实现限制可写空间
使用过Windows系统的管理员都会或多或少地接触Windows的磁盘限额功能.有关磁盘限额的好处及实用价值我就不说太多了,如果你对这个不了解的话可以去问下Google.在Windows2003R2版本之前,它的限额仅仅只是针对整个独立的分区有效,如果要针对某个用户的文件夹进行限额操作的话就无能为力了。
当然,其它的操作系统象Linux下的限额管理功能早就有了,但是我们在这里是讲Windows系统的功能,所以就不对Linux的系统进行说明了。
那么Windows2003R2针对限额操作到底可以实现哪些功能呢?
我就我这次需要用到的功能讲一下,至于其他的功能可以自己去Google一下了,这里就不一一列举。
其实就是FSRM全称FileServerResourceManager,中文名称:
文件服务器资源管理器。
通过使用FileServerResourceManager,管理员可以为文件夹和卷设置配额,主动屏蔽文件,并生成全面的存储报告。
FSRM包括三个主要功能:
配额管理
管理员发现,通过控制用户对空间的需求量来降低存储增长很有必要。
文件服务器资源管理器(FRSM)中新的配额管理工具允许管理员按卷、文件夹或共享监视和管理硬盘空间。
FSRM还提供了丰富的通知机制,以帮助管理员控制用户的期望。
文件屏蔽
FSRM为了使服务器的空间更有效的应用,应阻止用户存放与工作无关的文件或程序。
例如:
音频视频文件;可执行档;网页相关文件等.这些都可以自定义。
这里要说明的是这种方式只对检测文件的扩展名,如果更改了扩展名可能就起不到这个效果了.当然,并不是Microsoft没有技术做好这些,而且它推出的这项功能和它的合作伙伴Symantec相关的软件冲突(
存储报告
文件服务资源管理器(FSRM)提供了一个可快速标识、监视和修复存储资源管理中效率低下问题的简便方法。
管理员可以配置专门的报告,也可以请求以预定义的输出方式提供报告,其中包括:
文件大小、最少使用、所有者、副本等报告,这些报告均可以多种格式(HTNL、DHTML、XML、TXT文本、)提供。
A安装文件服务器资源管理器的方法
首先需要安装管理和监视工具子组件“文件服务器资源管理器”。
当然在安装这个组件时,将自动安装Microsoft.NETFramework2.0。
安装发后要重新启动。
B启动FSRM(文件服务器资源管理器)控制台方法:
再打开“文件服务器资源管理器”。
“管理工具”----“文件服务器资源管理器”。
C你可以创建两种方式的配额:
普通配额
普通配额只是应用到某个卷或文件夹,并限制整个文件夹树(此文件夹本身和它的所有子文件夹)所使用的磁盘空间;比如你可以使用普通配额来限制用户在某个文件夹中存储的数据大小;
自动配额
自动配额允许用户为某个卷或文件夹指派一个配额模板,FSRM将基于此配额模板自动为现有子文件夹或任何将来创建的新子文件夹生成普通配额,但是FSRM并不会针对此文件夹本身创建普通配额。
自动配额通常使用在以下场景:
用户数据分别按子目录存放在一个公用的文件夹中,那么你可以针对公用文件夹启用自动配额。
注意,配额属性还将应用于其所有子文件夹。
对R:
\FTP\USER01进行配额设置
在这里我们只要使用普通配额就行了。
在这里就先不说明“配额模板”的创建了。
我们就直接在“配额管理”的“配额”上右键单击,选择“创建配额”,如下图:
如下图,出现“创建配额”对话框,在配额路径里浏览到需要的目录(当然你也可以输入这个路径了);然后在“从此配额模板派生属性(推荐选项)”中选择“100MB限制”;最后再单击“创建”。
这样子就创建了针对USER01目录的配额。
(在这里其实是使用了配额模板)其它的都默认就行了。
大家可以看看“配额属性的摘要”在这里有详细的配额说明。
对R:
\FTP\PUB进行配额设置
我们继续在“配额管理”的“配额”上右键单击,选择“创建配额”,然后再“配额路径”处输入R:
\FTP\PUB的路径或单击“浏览”。
接下来,因为没有10M的配额模板,所以我们就选择“定义自定义配额属性”,然后单击“自定义属性”按钮,出现“R:
\FTP\PUB的配额属性”对话框,在“空间限制”里输入10MB,其他默认,确定即可。
如下图:
创建时会提示你是否保存为模板。
我们可以看需要进行操作。
如果保存为模板,那么方便以后使用;如果不保存,就选择“保存自定义配额,但不创建模板”,即可。
最后完成后,会在配额里出现2条限制规则。
如下图。
对于以上的设置也是在DC02上进行的。
到了这里对于USER01的用户进行相关的设置已经完成了。
大家如果觉得FSRM功能不错,具体可以查看《Win2003服务器存储空间巧妙管理》,分为上中下,这篇文章专门针对FSRM进行很详细的配置说明。
有需要可以自己去Google一下。
2.9、测试“不隔离用户”结果
经过前面这些设置,大家应该都掌握了,那么实验效果会如何呢?
我们现在来看一下。
A先用匿名用户登陆,可以看到PUB和USER01这2个目录,不能在任何目录下上传文件,但是可以下载。
B用USER01@qxdc.ad登陆,同样可以看到PUB和USER01这2个目录,可以在根目录里上传文件和文件夹,也可以在PUB和USER01这2个目录里上传文件和文件夹。
但是超过空间大小容量后会有错误提示。
在FTP根目录下不受空间配额的限制。
注意:
如果不是域用户,那么直接在DC02上建立用户,就可以登陆FTP。
当然也是需要相应的权限设置
基本达到要求。
问题如何实现在根目录下USER01用户不能上传呢?
其他目录功能不变!
可以通过目录的访问控制进行权限的设置。
只给FTP目录匿名用户读取权限和USERS组的读取权限(当然FTP站点还是读取和写入的权限),就限制了用户登陆后对FTP根目录的写入权限。
然后在PUB和USER01目录上分别给USER01用户写入权限。
这样子就实现了PUB和USER01目录对于USER01用户是可以上传的。
三、配置“隔离用户”
3.1、需要实现的功能
我们先来做第一个实验。
在做实验之前先看一下我们要实现的FTP功能。
注意:
这里是使用隔离用户功能
3.2、建立FTP的目录结构
在DC02上,以图3.21样式建立目录结构。
注意:
FTP根目录(myftp目录做为根目录)中新建LocalUser文件夹(在根目录下一定要建立LocalUser目录,然后在LocalUser里建立相对应用户账号名的目录)。
要不然用户不能登陆。
在LocalUser文件夹中新建对应帐号FTP的主文件夹(HomeDirectory),例如user01帐号对应LocalUser\user01文件夹,匿名访问对应LocalUser\Public文件夹,user02帐号对应LocalUser\user02文件夹。
图3.21目录结构
3.3、创建FTP站点及用户
在DC02上打开IIS管理控制台。
A.在运行窗口输入inetmgr打开IIS管理控制台,然后新建FTP服务器站点。
B.在新建站点向导中填写站点名称和IP地址以及端口。
C.在新建站点向导中选择配置模式为隔离用户模式,如图3.31所示。
图3.31配置FTP用户模式
D.在新建站点向导中配置FTP根目录。
(注意:
这里必须将LocalUser目录创建在根目录myftp里,路径可以使用网络路径\\IP\\共享名)
图3.32配置FTP站点主目录
E.在新建站点向导中配置FTP站点的权限,如图3.33所示的FTP站点允许用户进行文件读写操作。
图3.33站点访问权限设置
F.在运行窗口输入lusrmgr.msc,打开本地用户管理界面,增加FTP用户。
其实就是打开计算机管理:
在“管理工具”---“计算机管理”。
在“用户”上添加新用户user02,就OK了。
图3.34创建新用户
当然在实际应用中,可以先建立组,然后再建立用户,再将这个用户添加到组里。
并将用户从USERS组里去除。
3.4、按要求设置用户权限
按照实际的应用情况设置NTFS文件系统的访问控制列表(ACLs)。
在本例中没有对控制的要求,所以就不做专本示例。
如果有需要,可以参考前面的内容。
3.5、用户登陆效果
先分别在Public目录里建立public.txt文件,在user01目录里建立user01.txt文件,在user02目录里建立user02.txt文件。
然后再用对应账户登陆FTP。
如下图效果:
如果在这里用user01@qxdc.ad这个域用户帐户将不能登陆。
就算是建立user01@qxdc.ad目录也不能登陆。
3.6、补充虚拟目录
如果给my_ftp站点加入虚拟目录pub(pub对应物理路径R:
\myftp\LocalUser\Public)会如何呢?
那么我们接下来看吧。
A.在运行窗口输入inetmgr打开IIS管理控制台,然后在my_ftp上右键单击“新建”----“虚拟目录”,如图3.61所示。
也可以在计算机管理中打开IIS。
图3.62虚拟目录别名
图3.61建立虚拟目录
B.在虚拟目录创建向导中配置虚拟目录别名,输入PUB。
如图3.62所示。
C.在虚拟目录创建向导中选择配置FTP站点内容目录的路径为R:
\myftp\LocalUser\Public。
如图3.63所示。
D.在虚拟目录创建向导中配置虚拟目录访问权限。
如图3.64所示。
E.如何访问虚拟目录呢?
我们来试一下,先用USER01用户登陆,你会发现没有虚拟目录出现,先不要急。
接下来我们在地址栏中输入ftp:
//192.168.101.52/PUB/再回车,你会发现进入了虚拟目录。
如图3.65所示。
当然如果你也想进入USER02目录,那么你也是需要建立USER02的虚拟目录,要不然登陆不进去的。
其他用户也是用一样的方法访问PUB虚拟目录。
还有物理路径可以放在任何位置。
图3.63配置FTP站点内容目录的路径
图3.64配置虚拟目录访问权限
如图3.65登陆虚拟目录
3.7、用域名登陆FTP
对于Windows的FTP也是可以用域名方式登陆FTP的。
因为DC01上已建立域和DNS,所以只要在DNS上加上DC02的计算机名即可。
那么我们就可以用ftp:
//qxdc02.qxdc.ad来访问ftp:
//192.168.101.52了。
不过客户端PC的DNS一定要填写DC01的IP地址才行,要不然不能正确解析。
非域环境,只要建立了DNS,再进行相关设置就行。
在下一章节中还将会介绍如何建立别名来指向FTP服务器。
如图3.71所示。
如图3.71在DC01上
如图3.72在DC02上,可以看到完整计算机名就是域名
访问方法:
直接在地址栏里输入ftp:
//qxdc02.qxdc.ad,即可。
如图3.73所示。
如图3.73在地址栏中输入FTP域名
3.8、总结注意点
在以上的设置过程中,需要注意的是用户名需要和用户的主文件夹名称一致,否则用户将不能连接,由于使用了用户隔离模式,因此用户经过登陆后仅能访问用户的主文件夹。
在NTFS文件系统下需要执行步骤3.4按要求设置用户权限进行访问控制的设置,如果还需要访问除用户主文件夹外的空间,可以通过添加虚目录的方式,但这时必须通过NTFS文件系统的访问控制列表进行限制。
实际上“不隔离”用户模式也能实现FTP服务器多用户的添加和管理,不过由于不进行用户目录隔离,就必须进行更加复杂的NTFS文件系统的配置确保用户仅能访问自己的主文件目录,并且每个用户均需要新建一个和用户名同名的虚目录作为用户主目录。
四、配置“用ActiveDirectory隔离用户”
前面已经说过“用ActiveDirectory隔离用户”不能在非域控主机上建立,所以一定要在DC01上建立FTP。
即将必须FTP服务安装在DC上.要不然不能成功。
因为在windows帮助里已有相关提示:
“该模式根据相应的ActiveDirectory容器验证用户凭据,而不是搜索整个ActiveDirectory,那样做需要大量的处理时间。
将为每个客户指定特定的FTP服务器实例,以确保数据完整性及隔离性。
当用户对象在ActiveDirectory容器内时,可以将FTPRoot和FTPDir属性提取出来,为用户主目录提供完整路径。
如果FTP服务能成功地访问该路径,则用户被放在代表FTP根位置的该主目录中。
用户只能看见自己的FTP根位置,因此受限制而无法向上浏览目录树。
如果FTPRoot或FTPDir属性不存在,或它们无法共同构成有效、可访问的路径,用户将无法访问。
注意该模式需要在WindowsServer2003家族的操作系统上运行ActiveDirectory服务器。
也可以使用Windows2000ActiveDirectory,但是需要手动扩展User对象架构。
要了解设置ActiveDirectory服务器的详细信息,请参阅Windows帮助。
”
DC的计算机名为qxdc01,建立域qxdc.ad对应的IP地址:
192.168.101.51,客户机名为qxdc03,IP地址:
192.168.101.53。
4