利用组策略和DFS建立安全的文件服务器

原始出处:http://alligator.blog.51cto.com/36993/97664

概述:
   Dfs是微软在Win2000时就已经推出的一项功能,全称是Distributed File System(分布式文件系统),微软推出Dfs的目的为了统一管理网络中的共享文件资源,避免多个共享资源杂乱无序的分布在多个服务器中,方便维护管理和用户统一定位,同时也提供了网络负载平衡和容错的功能。
       本文以作者工作环境中实际案例为基础,详细阐述了在Win2003 R2中如何使用Dfs建立分布式文件服务器,结合AD细致控制用户权限,保证数据安全,并利用组策略将分布式文件服务器路径映射网络盘,进一步方便终端用户使用Dfs文件系统,同时利用R2的文件服务器资源管理器功能对文件服务器存储的文件数据进行有效的管理。
       本文涉及的议题有:
            一:安装与配置Dfs。
            二:配置文件服务器访问权限。
            三:利用组策略将文件服务器UNC路径映射为网络驱动器。
            四:文件服务器资源管理器管理Dfs文件服务器。
            五:关于Dfs文件服务器个人体会!
       但不涉及Dfs复制相关知识!

       为方便大家更好理解本篇文章,首先将本次实验的模拟场景进行一次简单描述:
       某公司有两台服务器(Server1,Server2)上都有共享文件夹供日常办公使用,为方便管理,现希望通过Dfs方式实现简单方便的访问,同时保证合理的用户访问权限,实现除了公共资料文件夹外,不同的部门员工只能访问本部门内部的资料,公共资料夹全公司员工都有权利访问,部门文件夹中除了部门公共文件夹外,不同用户只能访问个人文件夹,不允许访问其他用户文件夹。
       企业已部署Active Directory,针对不同部门建立了各自的用户帐号和安全组。见图一:

一:安装与配置Dfs
    1:安装分布式文件系统组件
      安装分布式文件系统组件的过程非常简单,当前提条件是需要有R2安装盘。
      一个方法是选择控制面板中的添加或删除程序,然后单击添加/删除 Windows 组件,然后勾选分布式文件系统(在分布式文件系统中包含有DFS复制服务、DFS复制诊断和配置工具、DFS管理三个子组件,你可以根据需要来选择),然后点击下一步,最后单击完成即可。你需要在每一台具有相应功能的服务器上安装对应的组件。
      也可以利用“管理工具”->“配置您的服务器向导”来选择“文件服务器”角色来安装分布式文件系统组件。
      推荐使用“配置您的服务器向导”来安装,这样可以将文件服务器资源管理器组件也一起安装。如果使用第一种方式安装了分布式文件系统组件,之后也可以安装文件服务器资源管理器组件,安装文件服务器资源管理器组件方法见图二:

     安装完分布式文件系统组件和文件服务器资源管理器组件后,你可以在管理工具中看到相应的组件工具(图三):

   2:配置分布式文件服务器
     配置分布式文件服务器的过程也很简单,你可以使用"DFS管理"组件来配置,也可以使用"分布式文件系统"组件。,
     我习惯于使用“分布式文件系统”组件,下面就以“分布式文件系统”组件说明如何配置分布式文件服务器。
     主要分为两步,第一步配置Dfs根,第二步建立Dfs链接!
     配置Dfs根:
        Dfs为共享文件夹定义了一个层次结构,类似于标准的目录结构,只是构成该目录结构的不是文件夹,而是多个共享点。
        Dfs根就可以理解为目录结构的根目录,包含Dfs根目录的服务器也称为根服务器,同时根服务器会有一个分区信息表(PKI)
        包含着指向Dfs目录结构的指针以及它们所代表的共享名称。
        在Win2003中有两种类型的Dfs根,分别是独立根和域根。
        独立根的PKI信息存储在根服务器的注册表信息中,如果独立根服务器不可用,会导致Dfs不可用。
        域根的PKI信息存储的AD中,并复制到当前域中所有DC,以实现容错性,当根服务器不可用时,其它服务器仍可向客户端传送Dfs信息。
        显然,域根是更加安全的方案,但需要AD域支持。本文以域根为例子!

        打开分布式文件系统,在“分布式文件系统”菜单,右键新建DFS根目录(图四)

        在根目录类型中,选择“域根目录”(图五)

         选择当前的域名,在主服务器中,可以直接输入根服务器的NetBios名称,也可以通过浏览方式,选择指定的主服务器(图六):

        在根目录名称界面,输入相应的信息(图七):

        在根目录共享中,选择你指定的共享路径,如果文件不存在,向导会自动创建对应的文件(图八)。

       根目录建立完成后,分布式文件系统中会相应生成Dfs根目录(图九)

    建立Dfs链接
    建立好Dfs根目录后,为了能让Dfs正常运行,我们还需要建立Dfs链接才能完成整个Dfs的建立。方法就是在Dfs根上点右键,新建Dfs链接,为链接起个名字并指向适当的的共享资源就可以了。
    这里我建立了两个Dfs链接,分别模拟场景中对应的两台服务器共享文件夹,每个文件夹下面都已经建立好三个子文件夹。(图十)

      远程文件服务器建立过程略过。

      建好Dfs链接后,分布式文件系统结构如下(图十一):

二:配置文件服务器访问权限
   1:正确配置用户工作文件夹
      首先看一下场景中对应文件夹安全的实现目标,其中LocalFileServer文件夹对应着Dfs链接中的本地文件服务器:

     公司级别文件夹权限要求:

        部门内部文件夹权限要求:

        明确了安全目标,接下来以IT Depart文件夹为例,说明如何配置安全的共享文件夹访问权限,其它两个文件夹配置办法类似。
        选中"IT Depart"文件夹,右键选择"共享与案例",在"安全"选项卡,选"高级",在“高级安全设置”中,
        取消“允许父项的继承权限传播到该对象和所有子对象。。。”。勾,在弹出的窗口中,选择“删除”

        删除继承后,再添加”IT Depart“安全组到”安全“选项卡中。

注意:IT Depart安全组是在AD中建立,成员包括:ITTrainer,RogerWang,见图一.
        为方便管理,建议将Domain Admins用户组也加入到该文件夹,并赋给“安全控制”权限。

         其它文件夹权限设置思路大同小异,请参考IT Depart文件夹上述步骤,过程略!

   2:设置好工作文件夹权限后,接下来步骤是正确配置Dfs共享文件夹访问权限
       首先检查一下默认的文件服务器对应的共享文件夹访问权限。
       1):根目录共享文件夹
       共享用户是Everyone,权限是只读

       安全选项卡中,用户和权限是直接继承自上级目录,对于Superlan\Users只有读取权限

       2):Dfs链接对应的共享文件夹,默认的访问权限与根目录共享文件夹访问权限一致,在此略过!

   3:通过客户端访问Dfs服务器,测试当前的用户权限。
      客户端以域帐号ITTrainer登录后,通过运行UNC访问路径“\\superlan.vmtest.com\文件服务器”,
      可以正常访问到Dfs文件服务器,但此时只能浏览,在任一级目录没有写权限。

   3:对共享文件夹赋给域用户正确权限
      1):根目录共享文件夹,权限不变
      2):Dfs链接共享文件夹
          在共享选项卡中,给Everyone用户权限添加“更改”权限

          在“安全”选项卡中,给Users(Superlan\Users)添加"拒绝"写入权限。
          添加”拒绝写入“权限的目的是防止用户在与"IT Depart"同级目录中新增文件夹!

   至此,文件服务器安全访问权限已经配置完成,可以通过客户端登录到Dfs服务器进行相应测试!

三:利用组策略将文件服务器UNC路径映射为网络驱动器
      通过上面步骤,客户机已经可以通过UNC路径访问Dfs文件服务器,进行正常的文件访问,貌似已经比较完美。
      但在实际工作中我们发现,在企业常常会有一些用户,连上述UNC路径(\\superlan.vmtest.com\文件服务器)都不懂使用,希望有更加方便简捷的途径使用文件服务器。没办法,企业内IT人员永远是为用户服务,既然有此需求,只能想办法实现。
      下面给出利用组策略实现将UNC名映射成网络盘的基本思路。
      1:编写用户登录脚本,实现UNC到网络驱动器的映射。
      用户登录脚本如下,文件名:NetDisk.VBS

      On error resume Next
      strRemotePath = "\\Superlan.VMTest.com\文件服务器"
      strNewName = "文件服务器"

      Set objNetwork = CreateObject("Wscript.Network")
      Set colDrives = objNetwork.EnumNetworkDrives

     'Wscript.Echo colDrives.Count

     if colDrives.Count = 0 then
        strDriveLetter="X:"
     else
        strDriveLetter = Chr(Asc(Left(colDrives.Item(0),1))-1) & ":"
     end if

     ' Section to map the network drive
     Set objNetwork = CreateObject("WScript.Network")
     objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

     ' Section which actually (re)names the Mapped Drive
     Set objShell = CreateObject("Shell.Application")
     objShell.NameSpace(strDriveLetter).Self.Name = strNewName

   2:使用老朋友GPMC,在AD中建立一个用于分发Dfs文件服务器的组策略,在用户配置->Windows设置->脚本(登录/注销)->登录,
      选择上述的NetDisk.VBS脚本。实现在用户登录时执行映射网络驱动器动作!
注意,一定要将上述脚本存放到该组策略对应的Logon目录下,该组策略才能生效!

   3:链接该组策略到具体的OU,请注意要链接到用户OU中,不要链接到计算机OU中。
   4:启动客户机测试组策略结果,检测是否可以正确映射网络驱动器。

四:使用文件服务器资源管理器管理Dfs文件服务器
    文件服务器部署成功,在实际环境中正式使用后,如何有效的进行文件服务器,比如每个用户文件夹大小,文件类型,以及存储情况呢?
    微软的Win2003 R2中提供了一个强大的文件服务器资源管理器组件,可以方便网络管理员更好地监视、控制和管理存储在公司服务器上的数据的类型和数量。
    本文只介绍一些简单的使用方法,详细使用请参见微软文档([url]http://www.microsoft.com/china/technet/itsolutions/msit/valuecard/msfsrmvc.mspx[/url])
       或风间子的文件服务器资源管理使用文档([url]http://www.winsvr.org/info/info.php?sessid=&infoid=48[/url])
    1:创建配额监视文件服务器使用情况
       在FSRM管理控制台中展开配额管理,右击配额,选择创建配额。
       在弹出的创建配额对话框上,首先选择配额路径,默认选项为在路径上创建配额。
       如果你想监视该目录下完整使用情况,可以选择第二个。
       然后选择从此配额模板派生属性(推荐选项)并选择对应的模板,如果你需要创建自定义的配额则选择定义自定义配额属性。

       最后点击创建即可,完成后如下图所示

       这时就可以看到相应的文件夹以及子文件夹使用情况。

   2:使用文件屏蔽管理,拒绝用户存放某些类型文件。
         在FSRM管理控制台中展开文件屏蔽管理,右击文件屏蔽,选择创建文件屏蔽,然后在弹出的创建文件屏蔽对话框上输入路径,选择对应的模板,如果需要则可以选择定义自定义文件屏蔽属性进行自定义,然后点击创建。

   3:使用存储报告管理,实时了解文件服务器资源状况
      在FSRM中,提供了非常详尽的存储报告功能,通过此功能,可以很清楚的了解到服务器上所存储的资源状况。也可以创建计划报告任务来定期创建报告,也可以立即生成报告。

五:对Dfs文件服务器个人体会
    1:通过Dfs文件服务器,我们可以实现将存在网络多个不同位置的共享文件夹统一位置来访问,但在实际环境中如有条件,强烈建议只使用一台独立服务器做专职的文件服务器!
    2:对于Dfs来说,虽然只要求Dfs根必须在NTFS卷上,但从安全性方面考虑,强烈建议Dfs链接文件夹也建立在NTFS卷中。
    3:理论上Dfs可以无限包含子文件夹,但实际上Dfs路径长度不能超过260字节,建议在建立文件夹时使用简洁的命名方案。
    4:同一个Dfs根不能从现有的链接中再创建子链接,基本的Dfs命名空间只有一级深度。

你可能感兴趣的:(服务器,职场,文件,DFS,休闲)