3.2 项目:NTFS文件系统管理
3.2.1 任务1:理解NTFS权限
WindowsServer2008在NTFS类型卷上提供了NTFS权限管理功能,允许为每个用户或组指定NTFS权限,以保护文件和文件夹资源的安全。通过允许、禁止或是限制访问某些文件和文件夹,NTFS权限提供了对资源的保护。不论用户是访问本地计算机上的文件、文件夹资源,还是通过网络来访问,NTFS权限都是有效的。
NTFS权限可以实现高度的本地安全性,即通过对用户或组赋予NTFS权限,可以有效地控制用户对文件和文件夹的访问。NTFS卷上的每一个文件和文件夹都有一个列表,称为访问控制列表 (AccessControlList, ACL),该列表记录了每一用户和组对该资源的访问权限。当用户要访问某一文件资源时,ACL必须包含该用户或组的入口,只有入口允许的访问类型与请求的访问类型一致时,才允许用户访问该文件资源。如果在ACL中没有合适的入口,那么该用户就无法访问该文件资源。
WindowsServer2008的NTFS许可权限包括普通权限和特殊权限。
(1)NTFS的普通权限有读取、列出文件夹内容、写入、读并且执行、修改、完全控制,以下将对它们分别进行说明:
1)读取:允许用户查看文件或文件夹所有权、权限和属性,但不能修改文件内容。
2)列出文件夹内容:仅文件夹有此权限,可查看文件夹下子文件和文件夹的属性和权限,读取文件夹下子文件内容。
3)写入:授权用户可以对一个文件进行写操作。
4)读并且执行:用户可以运行可执行文件,包括脚本。
5)修改:用户可以查看并修改文件或者文件属性,包括在目录下增加或删除文件,以及修改文件属性。
6)完全控制:用户可以修改、增加、移动或删除文件,能够修改所有文件和文件夹的权限设置。
(2)NTFS的特殊权限包括以下内容:
1)遍历文件夹/运行文件:“遍历文件夹”允许或拒绝通过文件夹移动以到达其他文件或文件夹 (即使用户没有禁止的文件夹)的权限 (仅适用于文件夹)。只有当“组策略”管理单元中没有授予组或用户“忽略通过检查”用户权限时,禁止文件夹才起作用 (默认情况下,授予Everyone组“忽略通过检查”用户权限)。对于文件,“运行文件”允许或拒绝运行程序文件 (仅适用于文件)。设置“遍历文件夹”权限不会自动设置该文件夹中所有文件的“运行文件”权限。
2)列出文件夹/读取数据:允许或拒绝用户查看文件夹内容列表或数据文件。
3)读取属性:允许或拒绝用户查看文件或文件夹的属性,如只读或者隐藏,属性由NTFS定义。
4)读取扩展属性:允许或拒绝用户查看文件或文件夹的扩展属性。扩展属性由程序定义,可能因程序而变化。
5)创建文件/写入数据:“创建文件”权限允许或拒绝用户在文件夹内创建文件 (仅适用于文件夹); “写入数据”允许或拒绝用户修改文件 (仅适用于文件)。
6)创建文件夹/附加数据:“创建文件夹”允许或拒绝用户在文件夹内创建文件夹 (仅适用于文件夹)。“附加数据”允许或拒绝用户在文件的末尾进行修改,但是不允许用户修改、删除或者改写现有的内容 (仅适用于文件)。
7)写入属性:允许或拒绝用户修改文件或者文件夹的属性,比如只读或者是隐藏,属性由NTFS定义,而不可以创建或删除文件或文件夹。要允许 (或者拒绝)创建或删除操作,可参阅“创建文件/写入数据”、“创建文件夹/附加数据”、“删除子文件夹及文件”和“删除”。
8)写入扩展属性:允许或拒绝用户修改文件或文件夹的扩展属性,而不可以创建或删除文件或文件夹。扩展属性由程序定义,可能因程序而变化。要允许 (或者拒绝)创建或删除操作,可参阅“创建文件/写入数据”、“创建文件夹/附加数据”、“删除子文件夹及文件”和“删除”。
9)删除子文件夹及文件:允许或拒绝用户删除子文件夹和文件。
10)删除:允许或拒绝用户删除文件夹和文件 (如果用户对于某个文件或文件夹没有删除权限,但是拥有删除子文件夹和文件权限,仍然可以删除文件夹和文件)。
11)读取权限:允许或拒绝用户对文件或文件夹读的权限,如完全控制、读或写权限。
12)修改权限:允许或拒绝用户修改该文件或文件夹的权限分配,如完全控制、读或写权限。
13)获得所有权:允许或拒绝用户获得对该文件或文件夹的所有权。无论当前文件或文件夹的权限分配状况如何,文件或文件夹的拥有者都具有管理所有文件或文件文件夹的最高权限。
14)同步:允许或拒绝不同线程的等待文件或文件夹的句柄,并与另一个向它发信号的线程同步。该权限只用于多线程、多进程程序。
NTFS的普通权限由更小的特殊权限元素组成。管理员可以根据需要利用NTFS特殊权限进一步控制用户对NTFS文件或文件夹的访问。
上述权限设置中比较重要的是修改权限和获得所有权,通常情况下,这两个特殊权限要慎重使用,一旦赋予了某个用户修改权限,便可以改变相应文件或者文件夹的权限设置。同样,一旦赋予了某个用户所有权权限,他就可以作为文件或文件夹的所有者对其进行查阅并更改。
3.2.2 任务2:设置NTFS权限
只有Administrators组内的成员、文件和文件夹的所有者、具备完全控制权限的用户,才有权更改文件或文件夹的NTFS权限。设置方法:打开“资源管理器”或“计算机”,在NTFS卷上指定要设置NTFS权限的文件夹或文件,单击鼠标右键,在弹出的菜单中选择“属性”命令,在随后出现的“属性”对话框中单击“安全”选项卡,在图3—1所示的选项卡上进行NTFS权限设置。
进行NTFS权限设置实际上就是设置“谁”有“什么”权限,图3—1所示的选项卡上端的窗口和按钮用于选取用户和组账户,解决“谁”的问题;下端的窗口和按钮则为已选中的用户或组设置相应的权限,解决“什么”的问题。
1.添加/删除用户和组
若要添加权限用户,单击“编辑|添加”按钮,出现如图3—2所示的对话框,在这个对话框中可以直接在文本框中输入用户或组账户名称。
图3—1 “安全”选项卡
图3—2 “选择用户或组”对话框
以选取的方式添加用户或组账户名称的方法是:单击“高级”按钮,在图3—3所示的对话框中单击“对象类型”按钮缩小搜索账户类型的范围,然后单击“位置”按钮搜索账户的位置,最后单击“立即查找”按钮。搜索完成后在“搜索结果”窗口中,用鼠标选取需要的账户,可以按住Shift键连续选取或者按住Ctrl键间隔选取多个账户,最后单击“确定”按钮,返回再次单击“确定”按钮完成账户选取操作。此时,在“属性”对话框的“安全”选项卡上端的窗口中已经可以看到新添加的用户和组,如图3—4所示。若要删除权限用户或组,在图3—4的组或用户名列表中选择这个用户或组,单击“删除”按钮即可。
图3—3 以查找方式添加用户或组
图3—4 “安全”选项卡
2.为用户和组设置权限
若要设置一个账户的NTFS权限,则在如图3—4所示的对话框上端选取该账户,就可以在下端的窗口中对其设置相应的NTFS权限。在该对话框中显示的是NTFS标准权限,对于每一种标准权限,对钩表示“允许”,没有对钩表示“拒绝”,已经用灰色的对钩选中的权限表示这种默认的权限设置是从父对象继承的,选项继承了该用户或组对该文件或文件夹在上一级文件夹所设置的NTFS权限。
如果需要进一步设置NTFS权限,可以单击“高级”按钮,在如图3—5所示的对话框中进行设置。
图3—5 NTFS权限的高级设置
3.NTFS权限的应用规则
管理员可以根据需要赋予用户访问NTFS文件或文件夹的权限,同时管理员也可以赋予用户所属组访问NTFS文件或文件夹的权限。用户访问NTFS文件或文件夹时,其有效权限必须通过相应的应用原则来确定。NTFS权限的应用遵循以下几个原则:
(1)NTFS权限是累加的。用户对某个NTFS文件或文件夹的有效权限,是用户对该文件或文件夹的NTFS权限和用户所属组对该文件或文件夹的NTFS权限的组合。如果一个用户同时属于两个组或者多个组,而各个组对同一个文件资源有不同的权限,这个用户会得到各个组的累加权限。假设用户Jack属于A和B两个组,A组对某文件有读取权限,B组对此文件有写入权限,而Jack的自己对此文件有修改权限,那么Jack对此文件的最终权限为“读取+写入+修改”。
(2)文件权限超越文件夹权限。当一个用户对某个文件及其父文件夹都拥有NTFS权限时,如果用户对父文件夹的权限小于对文件的权限,那么该用户对该文件的有效权限以对文件权限为准。例如,folder文件夹包含file文件,用户Jack对folder文件夹有列出文件夹内容的权限,对file有写的权限,那么Jack访问file时的有效权限则为写。
(3)拒绝权限优先于其他权限。管理员可以根据需要拒绝指定用户访问指定文件或文件夹,当系统拒绝用户访问某文件或文件夹时,不管用户所属组对该文件或文件夹拥有什么权限,用户都无法访问该文件或文件夹。
假设用户Jack属于A组,管理员赋予Jack对某一文件拒绝写的权限,赋予A组对该文件完全控制的权限,那么Jack访问该文件时,其有效权限则为读。又如,Jack属于A和B两个组,Jack对某一文件有写入权限、A组对此文件有读取权限,但是B组对此文件为拒绝读取权限,那么Jack对此文件只有写入权限。如果Jack对此文件只有写入权限,此时Jack的写入权限有效吗?答案很明显,Jack对此文件的写入权限无效,因为无法读取是不可能写入的。
(4)文件权限的继承。当用户对文件夹设置权限后,在该文件夹中创建的新文件和子文件夹将自动默认继承这些权限。从上一级继承下来的权限是不能直接修改的,只能在此基础上添加其他权限,也就是不能把权限上的对钩去掉。灰色的框为继承的权限,是不能直接修改的,白色的框是可以添加的权限。
如果不希望子文件夹或文件继承父文件夹或文件的权限,可以在为父文件夹和文件设置权限时,设置为“不继承父文件夹”权限,这样子文件夹或文件的权限将改为用户直接设置的权限。从而避免了由于疏忽或者没有注意到而产生的传播反应,导致后门大开,让一些人有机可乘。
(5)复制或移动文件或文件夹时权限的变化。文件或文件夹的移动、复制操作对权限的继承会产生影响,主要体现在以下几个方面:
1)在同一个卷内移动文件或文件夹时,此文件或文件夹会保留原位置的NTFS权限;在不同的NTFS卷之间移动文件或文件夹时,文件或文件夹会继承目的卷中文件夹的权限。
2)当复制文件或文件夹时,不论是否复制到同一卷还是不同卷,都将继承目的卷中文件夹的权限。
3)当从NTFS卷向FAT分区复制或移动文件或文件夹时将导致文件或文件夹权限的丢失。
在实际复制或移动文件夹或文件前,应确保拥有移动、复制文件或文件夹的权限。假如没有移动、复制文件或文件夹的权限,即使作为一名管理员也无法对该文件或文件夹进行操作。但是,如果先获得了文件夹或文件的所有权,然后再分配给自己必要的权限就可以操作了。
4.NTFS权限与共享权限的组合权限
NTFS权限与共享权限都会影响用户获取网上资源的能力。共享权限只对共享文件夹的安全性做控制,即只控制来自网络的访问,适合于FAT和FAT32文件系统。NTFS权限则对所有文件和文件夹做安全控制 (无论访问来自本地主机还是网络),但只适用于NTFS文件系统。当共享权限和NTFS权限冲突时,以两者中最严格的权限设定为准。需要强调的是,在 WindowsXP、WindowsServer2008及后续的 Windows版本中,系统所默认的共享权限都是只读,这样通过网络访问NTFS卷所能获得的权限就受到了限制。
共享权限有三种:读取、更改和完全控制。WindowsServer2008默认的共享文件设置权限是Everyone组的用户只具有读取权限。而 Windows2000默认的共享文件设置权限是Everyone组的用户具有完全控制权限。下面解释三种权限:
(1)读取:读取权限是指派给Everyone组的默认权限,可实现以下操作:
1)查看文件名和子文件夹名。
2)查看文件中的数据。
3)运行程序文件。
(2)更改:更改权限不是任何组的默认权限。更改权限除允许所有的读取权限外,还增加了以下权限:
1)添加文件和子文件夹。
2)更改文件中的数据。
3)删除子文件夹和文件。
(3)完全控制:完全控制权限是指派给本机Administrators组的默认权限。完全控制权限除允许全部读取权限外,还具有更改权限。
与NTFS权限一样,如果赋予某用户或组拒绝的权限,则该用户或该组的成员将不能执行被拒绝的操作。
当用户从本地计算机直接访问文件夹时,将不受共享权限的约束,只受NTFS权限的约束。当用户从网络访问一个存储在NTFS文件系统上的共享文件夹时,则会受到NTFS权限与共享权限的约束,而有效权限是最严格的权限。同样,这里也要考虑到两个权限的冲突问题。例如,共享权限为只读,NTFS权限是写入,那么最终权限是完全拒绝,这是因为这两个权限的组合权限是两个权限的交集。
共享权限只对通过网络访问的用户有效,所以需要与NTFS权限配合 (如果分区是FAT/FAT32文件系统,则不需要考虑)才能严格控制用户的访问。当一个共享文件夹设置了共享权限和NTFS权限后,就要受到两种权限的控制。如果希望用户完全控制共享文件夹,首先要在共享权限中添加此用户或组,并设置完全控制的权限,然后在NTFS权限设置中添加此用户或组,并设置完全控制的权限,只有两个地方都设置了完全控制权限,才能最终拥有完全控制权限。
5.NTFS所有权
在 WindowsServer2008的NTFS卷上,每个文件和文件夹都有其“所有者”,我们称之为“NTFS所有权”,系统默认创建文件或文件夹的用户是该文件或文件夹的所有者。NTFS所有权即NTFS文件和文件夹所有权,当用户对某个文件或文件夹具有所有权时,就具备了更改该文件或文件夹权限设置的能力。
更改所有权的前提条件是用户必须具备“所有权”的权限,或者具备“取得所有权”的能力。Administrator组的成员拥有“所有权”的权限,可以修改所有文件和文件夹的所有权设置。对于某个文件夹具备读取权限和更改权限的用户,就可以为自身添加“取得所有权”的权限,即具备了“取得所有权”的能力。获得或更改对象的所有权的步骤如下:
步骤1:打开“资源管理器”或“计算机”,找到要修改NTFS权限的文件或文件夹(以“C:\新建文本文档.txt”为例)。
步骤2:在指定文件或文件夹上右键单击鼠标,选择“属性”,然后切换到“安全”选项卡。
步骤3:单击“高级”按钮,然后从高级安全设置对话框中选择“所有者”选项卡,如图3—6所示。
图3—6 “所有者”选项卡
步骤4:在“将所有者更改为”列表框中,选择要获得所有权的用户或组的账户名称,如果要将所有权转移给其他用户或组,则依次单击“编辑|其他用户或组”按钮,选择输入的指定用户或组,最后单击“确定”按钮。
3.2.3 任务3:NTFS的压缩与加密
1.NTFS文件系统的压缩
优化磁盘空间管理的一种方法是使用压缩技术,即压缩文件或文件夹,减少它们在驱动器或可移动存储设备上所占用的空间。WindowsServer2008的数据压缩功能是NTFS文件系统的内置功能,该功能可以对单个文件、整个目录或卷上的目录树进行压缩。NTFS压缩只能在用户数据文件上执行,而不能在文件系统元数据上执行。NTFS文件系统的压缩过程和解压缩过程对于用户而言是完全透明的 (与第三方的压缩软件无关),用户只要将文件数据应用压缩功能即可。当用户或应用程序使用压缩的数据文件时,操作系统会自动在后台对数据文件进行解压缩,无须用户干预。利用这项功能,可以节省一定的硬盘使用空间。
使用 WindowsServer2008NTFS压缩文件或文件夹的步骤如下:
步骤1:打开“资源管理器”或“计算机”,找到要压缩的文件或文件夹。
步骤2:在指定文件或文件夹上单击鼠标右键,然后选择“属性”菜单,可以看到如图3—7所示的“常规”选项卡。
图3—7 “常规”选项卡
步骤3:在“常规”选项卡中,单击“高级”按钮。
步骤4:在文件的高级属性页的“压缩或加密属性”下,选中“压缩内容以便节省磁盘空间”复选框,然后单击“确定”按钮,如图3—8所示。
步骤5:如果是压缩指定的文件夹,那么在“属性”对话框中,单击“确定”按钮时,将弹出如图3—9所示的在“确认属性更改”对话框中需要选择的选项。
图3—8 选中“压缩内容以便节省磁盘空间”
图3—9 “确认属性更改”对话框
提示:可以使用NTFS压缩功能,压缩NTFS卷上的文件和文件夹。如果没有出现“高级”按钮,则说明所选的文件或文件夹不在NTFS驱动器上。NTFS的压缩和加密属性互斥,文件加密后就不能再压缩,压缩后就不能再加密。
在WindowsServer2008操作系统的同一卷内移动文件或文件夹时,文件或文件夹不会发生任何变化,系统只更改卷中指向文件或文件夹头指针的位置;在NTFS卷间移动NTFS文件或文件夹时,系统将目标文件或文件夹作为新文件或文件夹对待,文件或文件夹将继承目的地文件夹的压缩属性。另外,任何被压缩的NTFS文件或文件夹移动或复制到FAT/FAT32分区时都将自动解压,不再保留压缩属性。
2.NTFS文件系统的加密
NTFS文件系统的加密属性是通过加密文件系统 (EncryptingFileSystem, EFS)实现的。EFS提供的是一种核心文件加密技术,仅能用于NTFS卷上的文件和文件夹加密。EFS 42加密对用户是完全透明的,当用户访问加密文件时,系统自动解密该文件,当用户保存加密文件时,系统会自动加密该文件,不需要用户任何手工交互动作。EFS是 Windows2000、WindowsXPProfessional(WindowsXP Home不支持EFS)、WindowsServer2003/2008 NTFS文件系统的一个组件。EFS采用高级标准加密算法实现透明的文件加密和解密,任何没有合适密钥的个人或者程序都不能读取加密数据。即便是物理上拥有驻留加密文件的计算机,加密文件仍然受到保护,甚至是有权访问计算机及其文件系统的用户,也无法读取这些数据。
(1)EFS技术特性。EFS加密技术作为集成的系统服务运行,具有管理容易、攻击困难、对文件所有者透明等特点。具体而言,具有如下特性:
1)透明的加密过程,不要求用户 (文件所有者)每次使用都进行加、解密。
2)强大的加密技术,基于公钥加密。
3)完整的数据恢复。
4)可保护临时文件和页面文件。
文件加密的密钥驻留在操作系统的内核中,并且保存在非分页内存中,这保证了密钥不会被复制到页面文件中,因而不会被非法访问。
使用EFS类似于使用文件和文件夹上的权限。未经许可对加密文件、文件夹进行物理访问的入侵者将无法阅读其中的内容。入侵者如果试图打开或复制己加密文件或文件夹,则会收到拒绝访问的消息。但文件和文件夹上的权限不能防止未授权的物理攻击。
EFS将文件加密作为文件属性保存,通过修改文件属性对文件和文件夹进行加密和解密。正如设置其他属性 (如只读、压缩或隐藏)一样,通过设置文件或文件夹的加密属性,可以对文件或文件夹进行加密和解密。如果加密一个文件夹,则在加密文件夹中创建的所有文件和子文件夹都将自动加密。WindowsServer2008操作系统的EFS具有以下特征:
1)只能加密NTFS卷上的文件或文件夹。
2)不能加密压缩的文件或文件夹,如果用户加密某个压缩文件或文件夹,则该文件或文件夹会被解压。
3)如果将加密的文件复制或移动到非NTFS的分区上,则该文件会被解密。
4)如果将非加密文件移动到加密文件夹中,则这些文件将在新文件夹中自动加密。反向操作则不能自动解密文件,文件必须明确解密。
5)无法加密标记为“系统”属性的文件,位于%systemroot%目录结构中的文件也无法加密。
6)加密文件或文件夹不能防止删除或列出文件或目录。具有合适权限的人员可以删除或列出已加密的文件或文件夹,因此建议结合NTFS权限使用EFS。
7)在允许进行远程加密的远程计算机上可以加密或解密文件及文件夹。然而,如果通过网络打开已加密文件,此操作过程在网络上传输的数据则并不会被加密,必须使用诸如SSL\TLS (安全套接字层/传输层安全性)或IPSec(Internet协议安全性)等协议加密数据。
(2)EFS的操作。用户可以使用EFS加密、解密、访问、复制文件或文件夹。下面就介绍如何使用EFS对文件或文件夹进行加密。
步骤1:打开“资源管理器”或“计算机”,找到要加密的文件或文件夹。
步骤2:在指定文件夹上单击鼠标右键,选择“属性”菜单。在弹出的属性对话框中单击“高级”按钮。
步骤3:在弹出的高级属性对话框“压缩或加密属性”中选择“加密内容以便保护数据”,如图3—10所示,然后单击“确定”按钮。
步骤4:如果是压缩指定的文件夹,在出现“确认属性更改”对话框时,选择“仅将更改应用于该文件夹”,系统将只对文件夹加密,里面的原有内容则不会被加密,但是在其中创建的文件或文件夹将被加密。选择“将更改应用于该文件夹、子文件夹和文件”,文件夹内部的所有内容将都被加密。
步骤5:单击“确定”按钮,完成加密。
注意:在首次进行加密操作时,WindowsServer2008操作系统提示操作者备份文件加密证书和密钥,如图3—11所示,创建备份文件可避免在丢失或损坏原始证书和密钥之后,无法再对加密文件进行访问。加密操作者可根据不同选择进行备份。
图3—10 加密文件或文件夹
图3—11 加密文件系统的备份提示
文件的所有者也可以使用与加密相似的方法对文件夹进行解密,而且无须解密即可打开文件进行编辑 (EFS在所有者面前是透明的)。如果正式解密一个文件,将会使其他用户访问该文件。下面是解密文件或文件夹的具体步骤:
步骤1:打开“资源管理器”或“计算机”,找到要解密的文件或文件夹。
步骤2:在指定文件或文件夹上,单击鼠标右键,选择“属性”菜单。在弹出的属性对话框中单击“高级”按钮,打开“高级属性”对话框,在“压缩或加密属性”中取消选择“加密内容以便保护数据”,然后单击“确定”按钮。
步骤3:如果是文件夹操作,那么在弹出的“确认属性更改”对话框中选择是对文件夹及其所有内容进行解密,还是只解密文件夹本身,默认情况下是只解密文件夹本身。最后单击“确定”按钮即可。
(3)使用加密文件或文件夹。作为当初加密一个文件或文件夹的用户 (即所有者),无须特定的解密操作就能使用它,EFS会在后台透明地为用户执行解密任务。用户可正常地打开、编辑、复制和重命名。然而,如果用户不是加密文件或文件夹的创建者或不具备一定的访问权限,则在试图访问该文件或文件夹时将会看到一条访问被拒绝的消息。
提示:如果将一个文件夹的属性设置为“加密”,那么文件夹中的所有文件和文件夹在创建时都将被加密。
(4)复制或移动加密文件或文件夹。与文件的压缩属性相似,在 WindowsServer2008操作系统的同一卷内移动文件或文件夹时,文件或文件夹的加密属性不会发生任何变化;在NTFS不同卷间移动NTFS文件或文件夹时,系统将目标文件或文件夹作为新文件或文件夹对待,文件或文件夹将继承目的地文件夹的加密属性。另外,任何已经加密的NTFS文件被移动或复制到FAT/FAT32分区时,文件将会丢失加密属性。最后,用户在使用EFS加密文件或文件夹时,要注意以下事项:
1)不要加密系统文件夹。
2)不要加密临时目录。
3)应始终加密个人文件夹。
4)使用EFS后应尽量避免重新安装系统,重新安装系统前应先将文件解密。
5)加密文件系统不对传输过程加密。