学习目的

企业中普遍使用服务器来管理和共享文件,为了确保文件的机密性、完整性和可用性等,一般会给不同部门、不同角色来设置不同的权限,比如有一些部门只能向某个文件夹上传文件,而不能读取这个文件夹内其他的文件,或者一个员工属于一个可以读取文件的部门,但是又不希望他能够读取某个文件,在windows中,我们使用类似于访问控制列表的方式,来实现这样的需求。

一、NTFS权限概述

1、通过设置NTFS权限,实现不同的用户访问不同的权限

2、分配了正确的访问权限后,用户才能访问其资源

3、设置权限防止资源被篡改、删除

二、文件系统概述

文件系统即在外部存储设备上组织文件的方法。

常用的文件系统:

fat:windows

ntfs:windows

ext:linux

web安全day2:NTFS安全权限_文件系统

如果你在磁盘上右键查看属性,可以看到磁盘的类型。我们一般在windows上通常使用ntfs,而在linux上通常使用ext,fat类型一般使用在U盘等小容量的存储载体上。

三、NTFS系统的优点

1、提高磁盘读写性能

2、可靠性高,比如对分区进行加密、访问控制列表(设置权限)

web安全day2:NTFS安全权限_删除文件_02

3、磁盘利用率高,可以进行压缩、磁盘配额(限制使用空间,一般在服务器上使用)。

4、支持单个文件大于4个G(非常重要)

接下来,我们会通过几个实验来理解NTFS系统权限控制方法。整个实验我们都以一台windows2003的虚拟机来进行,,没有windows2003镜像的同学可以私信博主拿到。

四、实验一:修改NTFS权限

需求:公司中有两个员工分别是a和b,对应密码分别是1和2.我们希望员工a有document文件夹的读取权限,员工b不能读取document文件夹内的所有文件,但是可以看到这些文件的文件名,同时,他可以向document文件夹内写入文件。

步骤:

1、使用administrator用户新建两个用户a和b,对应的密码分别是1和2.新建用户的方法是在cmd中使用net user a(用户名) 1(密码) /add

web安全day2:NTFS安全权限_文件系统_03

2、使用administrator用户新建一个文件夹命名为document,并在document文件夹下创建文件1.txt和document1文件夹,在document1文件夹下再创建2.txt。在1.txt和2.txt中分别写入任意内容。

web安全day2:NTFS安全权限_删除文件_04

我们查看document文件夹的属性的安全栏,可以看到一共有4个组,分别是administrators、creator owner、system、users。其中,administrators组是系统管理员组,拥有最高权限,creator owner是文件创建者组,拥有特别的权限,即能够更改该acl的权限,system组是系统组,拥有除了特别的权限外的所有权限,users组是普通用户组,所有创建的用户,如果不更改其加入的组,它默认在这个组,它拥有读取和运行、列出文件夹目录、读取、特别的权限。

文件权限一共有6项,分别是完全控制、修改、读取和运行、列出文件夹目录、读取、写入、特别的权限。文件夹权限在此基础上多一项内容,是列出文件夹目录的权限。

文件权限

  • 完全控制:拥有读取、写入、修改、删除文件、特殊的权限。
  • 修改:拥有读取、写入、修改、删除文件的权限。
  • 读取与运行:拥有读取和执行文件的权限。
  • 读取:拥有读取文件的权限。
  • 写入:拥有蟹盖文件内容的权限。
  • 特别的权限:控制文件权限的权限。

文件夹权限

  • 完全控制:拥有对文件和文件夹读取、写入、修改、删除文件、特殊的权限。
  • 修改:拥有对文件和文件夹读取、写入、修改、删除文件的权限。
  • 读取与运行:拥有对文件夹中文件下载、读取和执行的权限。
  • 列出文件夹目录:可以列出文件夹中的内容。
  • 读取:拥有对文件夹中文件下载、读取的权限。
  • 写入:拥有在文件夹中创建新的文件的权限。
  • 特别的权限:控制文件夹权限列表的权限。


3、我们看到,在users组下,存在了读取和运行、列出文件夹目录、读取、特别的权限。员工a和b都存在于这个组内,默认情况下,他们可以读取所有文件,按照我们的理解,第一我们需要区分a和b两个员工,第二我们需要将b用户的读取和运行、读取、特别的权限取消掉。但是我们发现,这些勾都是灰色图标,无法点击取消。因此,我们第一步需要想办法解决这个问题。

3.1、取消权限继承。我们知道,users组的权限继承自上级目录E盘,正是因为这个原因,它的权限不能改。我们点击高级--取消勾选”允许父项的继承权限传播到该对象和所有子对象。包括那些在此明确定义的项目“--在接下来弹出的框选复制,表示我们暂时留下这些继承,供后续再修改--点击确定。再次回到属性--安全列表时,我们可以发现,勾可以取消了,这是因为我们不再继承父项权限的原因。

web安全day2:NTFS安全权限_服务器_05

web安全day2:NTFS安全权限_文件权限_06

3.2删除除了administrators组外其他各组,另外创建两个用户a和b。

web安全day2:NTFS安全权限_写入文件_07

web安全day2:NTFS安全权限_文件系统_08

然后对b的权限进行修改。让它能够列出文件夹目录、写入文件。并且不能覆盖写入文件,因为覆盖写入意味着删除原文件,而我们并没有给员工b这个权限。

web安全day2:NTFS安全权限_写入文件_09

4、验证

4.1、注销adminitrator的登录,使用a用户登录。

我们发现a用户可以正常读取document文件夹内的所有文件,但是无法写入新的文件到这个文件夹,也无法删除文件夹下的文件,也无法修改文件夹下文件的内容。

web安全day2:NTFS安全权限_文件权限_10

web安全day2:NTFS安全权限_文件权限_11

web安全day2:NTFS安全权限_文件系统_12

4.2、注销a用户,使用b用户登录。

我们发现b用户可以打开document文件夹和它下面的document1文件夹,但是无法打开1.txt和2.txt.如果我们在桌面新建一个新的文件3.txt并将其移动到document文件夹下,我们发现是可以移动的,并且如果我们在桌面上再次创建一个3.txt并移动到document文件夹下,我们发现是可以覆盖的。但是尽管如此,我们也无法在document文件夹下打开我们刚刚移动进去的文件。而且不能将其复制出来。因此我们得出结论,一个文件复制或者移动到某个文件夹下,会被该文件夹的权限同化。同样的,因为我们没有赋予b用户修改的权限,我们仍然无法删除这些文件。但是,如果我们试图销毁掉我们上传的文件(别人的覆盖不了),可以使用相同文件名但是内容为空的文件进行覆盖。

web安全day2:NTFS安全权限_文件系统_13

五、实验二:权限累加

当用户同属于多个组时,权限是累加的。即当用户c同时属于IT组和HR组时,IT组对于文件夹document可以读取、HR组对document文件夹可以写入,则c既可以读取也可以写入。注意:累加只累加允许。

5.1、在adminitrator用户创建用户c,创建IT组和HR组,并将c添加到这两个组中。

web安全day2:NTFS安全权限_服务器_14

5.2、在administrator用户调整document文件夹的权限。

web安全day2:NTFS安全权限_文件权限_15

web安全day2:NTFS安全权限_服务器_16

web安全day2:NTFS安全权限_删除文件_17

然后登录c用户进行测试,发现其既可以写入新文件,还可以在document文件夹下读取文件。

六、实验三:拒绝最大

当用户d属于IT组,IT组拥有写入document文件夹的权限,但是由于一些原因,公司不希望d拥有这个权限,同时不希望d退出这个组。通过将d用户设置拒绝可以解决,在windows中,拒绝的优先级最高。

web安全day2:NTFS安全权限_删除文件_18

web安全day2:NTFS安全权限_文件权限_19

web安全day2:NTFS安全权限_写入文件_20

然后进行测试,发现d没有进入该文件夹的权限。

七、实验四:取得所有权

当用户a已经离职,但是一些文件是其创建的,并且他对这些文件的权限进行过修改,导致其他用户无法访问这些文件,现在需要administrator用户将这些权限重置。

默认只有administrator有这个权限。作用是可以将任何文件夹的所有者改为administrator。

web安全day2:NTFS安全权限_删除文件_21

在adminitrator用户下,在属性--安全--高级中勾选”用在此显示的可以应用到子对象的项目替代所有子对象的权限项目“,从而修改其权限。这时,administrator已经拥有该文件夹的所有权限,同时可以修改其他用户关于此文件夹的权限,我们可以将a用户的权限删除,使得a用户即使再次登录,也无法查看或者修改这些曾经自己创建的文件。