NTFS权限是作为一个Windows管理员必备的知识,许多经验丰富的管理员都能够很熟悉地对文件、文件夹、注册表项等进行安全性的权限设置,包括完全控制、修改、只读等。而谈论NTFS权限这个话题也算是老生常谈了,但是对于一些“新手”,还是会有一些不是非常清楚的地方,本文就针对NTFS权限的重点要素进行探讨,以给大家对于NTFS权限的内容有一个初步的了解。
 【正文】

一、    用户和组

权限设置必然涉及的三要素为访问者、权限、被访问的对象,那么我们首先来看一下“访问者”这一要素。“访问者”其实就是我们常说的“用户和组”,用户是授予权限的最小单位,而组则可以看作是用户的集合,在Windows系统中,用户与组都是使用SID作为其唯一标识符,应用到NTFS权限上也是如此,实际上也是对这些SID进行权限的授予。

那么在这里我们先来了解一下在工作组环境中的Windows系统内置的一些具备特殊功能作用的用户和组。

名称

性质

特点描述

Administrator

用户

所谓“超级管理员”,默认禁用。在系统默认的安全策略下,其不受UAC约束且将以管理员身份运行任何程序。鉴于这一特性将严重降低系统安全性,Microsoft不建议将其启用。

Administrators

所有管理员帐户都是Administrators组的成员。在ACL中,针对管理员的权限设置,通常使用Administrators组进行分配。注意在UAC启用的情况下,非经提权,仅有Administrators组的拒绝权限会应用到普通管理员。

Users

所有用户帐户都是Users组的成员。在ACL中,针对用户的权限设置,通常使用Users组进行分配。

Guest

用户

来宾帐户,默认禁用。相较于普通用户帐户,来宾帐户受到更多限制。在于“控制面板\用户帐户和家庭安全\用户帐户\管理帐户”中启用来宾帐户后,此帐户也将被启用。

HomeGroupUser$

用户

家庭组用户帐户。用于实现家庭组简化的、安全的共享功能。在创建家庭组后,此帐户将被创建及启用。

TrustedInstaller

特殊用户

可信任的安装程序,实质上其指代的是一种特殊的服务,与Windows Modules Installer服务关系很大。可通过直接输入名称NTSERVICE\TrustedInstaller将其添加到ACL中。

HomeUsers

在ACL中,针对家庭组的权限设置,通常使用HomeUsers组进行分配。

Authenticated Users

特殊组

是所有在本系统或域内有合法账户的用户的集合。

Everyone

特殊组

所有用户的集合,无论其是否拥有有合法账户。

Creator Owner

特殊组

创建对象或目前是对象所有者的用户的集合。实质上此组的作用是:当它存在于ACL中时,将同时将所有者用户帐户以设定的权限添加进ACL。

Owner Rights

特殊组

此组的作用主要在于限制对象所有者隐性的查看、更改ACL的权限。

SYSTEM

特殊组

本地系统。相当多的服务使用此身份运行,如Windows Search。

二、    NTFS权限

NTFS权限是基于NTFS分区实现的,通过对用户或组授予NTFS权限可以有效地控制用户对文件和目录的访问。对于NTFS磁盘分区上的每一个文件和文件夹,NTFS都存储了一个访问控制列表(ACL,Access Control Lists)。ACL中包含有那些被授权访问该文件或者文件夹的所有用户账号、组和计算机,还包含他们被授予的访问类型。为了让一个用户访问某个文件或文件夹,针对相应的用户账号、组,或者该用户所属的计算机,ACL中必须包含一个对应的入口,这样的入口叫做访问控制入口(ACE,Access Control Entries)。为了让用户能够访问文件或者文件夹,访问控制入口必须具有用户所请求的访问类型。如果ACL没有相应的ACE存在,Windows系统就拒绝该用户访问相应资源。

NTFS权限分为标准NTFS权限和特殊NTFS权限两大类。标准NTFS权限可以说是特殊NTFS权限的特定组合。特殊NTFS权限包含了在各种情况下对资源的访问权限,其组合限制了用户访问资源的所有行为。但通常情况下,用户的访问行为都是几个特定的特殊NTFS权限的组合或集合。Windows为了简化管理,将一些常用的特殊NTFS权限组合起来形成了标准NTFS权限,当需要分配权限时可以通过分配一个标准NTFS权限以达到一次分配多个特殊NTFS权限的目的。
如下列表就是标准NTFS权限和特殊NTFS的对应关系表。

 

标准NTFS权限

特殊NTFS权限

完全控制

修改

读取和执行

读取

写入

列出文件夹目录

遍历文件夹/运行文件

   

列出文件夹/读取数据

   

读取属性

   

读取扩展属性

   

创建文件/写入数据

   

 

创建文件夹/附加数据

   

 

写入属性

   

 

写入扩展属性

   

 

删除子文件夹及文件

         

删除

       

读取权限

 

更改权限

         

取得所有权

         

针对以上权限设置,下表列出了其所起到的作用。

权限类型

权限名称

权限作用描述

标准NTFS权限

完全控制

用户可以修改、增加、移动和删除文件,以及它们相关的属性和目录。另外,用户还能改变所有文件和子目录的权限设置。

修改

用户能够查看和修改文件和文件属性,包括删除和添加目录文件或文件属性。

读取和执行

用户可以运行可执行文件,包括脚本。

读取

用户能够查看文件和文件属性。

写入

用户能够改写文件。

特殊NTFS权限

遍历文件夹/运行文件

用户可以通过文件夹到达其它文件或文件夹,即使这些文件夹没有遍历文件或文件夹的权限。只有在“组策略”管理单元中没有将“跳过遍历检查”用户权限授予用户组或用户时,遍历文件夹才会生效。(默认情况下,Everyone用户组拥有“跳过遍历检查”用户权限。)

列出文件夹/读取数据

用户可以查看一个文件的内容和数据文件列表。

读取属性

用户可以查看一个文件或文件夹的属性,如只读和隐藏。(NTFS定义这些属性。)

读取扩展属性

用户可以查看一个文件或文件夹的扩展属性。(扩展属性由程序定义,可能各不相同。)

创建文件/写入数据

建立文件权限允许用户在文件夹内建立文件。(这个权限只应用于文件夹。)写入数据权限允许用户改写文件,覆盖现有内容。(这个权限只应用于文件。)

创建文件夹/附加数据

建立文件夹权限允许用户在文件夹内建立文件夹。(这个权限只应用于文件夹。)附加数据权限允许用户修改文件末尾部分,但他们不能改变、删除或覆盖现有数据。(这个权限只应用于文件。)

写入属性

用户可以修改文件或文件夹的属性,如只读或隐藏。(NTFS定义这些属性。)

写入扩展属性

用户可以修改一个文件或文件夹的扩展属性。

删除子文件夹及文件

用户可以删除子文件夹及文件,即使该子文件夹及文件上没有删除权限。

删除

用户可以删除文件或文件夹。(如果用户在该文件或文件夹上没有删除权限,但是在其父级的文件夹上有删除子文件及文件夹权限,那么就仍然可以删除它。)

读取权限

用户拥有文件或文件夹的读取权限,如完全控制、读取和写入。

更改权限

用户拥有文件或文件夹的变更权限,如完全控制、读取和写入。

取得所有权

用户可以取得文件或文件夹的所有权。文件的所有者总能改变这个文件的权限,不管文件或文件夹受到何种权限的保护。

在使用基于NTFS的ACL中,还涉及到应用范围,那就是在NTFS权限设置的时候的作用域了,如下表列出了相应的作用域。

权限作用域

只有该文件夹

此文件夹、子文件夹及文件

此文件夹和子文件夹

此文件夹和文件

仅子文件夹和文件

只有子文件夹

只有文件

但是在实际的权限配置中,由于继承、权限选项以及特殊组的存在,作用域的效果并不是绝对的。如下则为在高级权限设置中,会出现的一些权限选项:

选项名称

选项描述

包括可从该对象的父项继承的权限

禁用继承/启用继承

以当前对象为子对象,在子对象及其父对象之间建立继承关系,并用父对象权限设置替换子对象权限设置。去除该选项的勾选可以阻断继承关系。

使用可从此对象继承的权限替换所有子对象权限

以当前对象为父对象,在父对象及其子对象之间建立继承关系,并用父对象权限设置替换子对象权限设置。

仅将这些权限应用到此容器中的对象和/或容器

作用域仅及于对象下的第一层文件/文件夹而不涉及更深层次的文件/文件夹。

替换子容器和对象的所有者

将对象中的所有文件/文件夹的所有者变更为当前对象的所有者。

三、    NTFS权限的使用法则

为了更好地应用和制度NTFS权限在设置的时候将产生的效果,我们需要了解一些NTFS权限的法则。

1、 权限的积累,即权限最大法则
  用户对资源的有效权限是分配给该个人用户账户和用户所属的组的所有权限的总和。如果用户对文件具有“读取”权限,该用户所属的组又对该文件具有“写入”的权限,那么该用户就对该文件同时具有“读取”和“写入”的权限。当有拒绝权限时权限最大法则无效。

2、 文件权限高于文件夹权限
  意思就是说NTFS文件权限对于NTFS文件夹权限具有优先权,当用户或组对某个文件夹以及该文件夹下的文件有不同的访问权限时,用户对文件的最终权限是用户被赋予访问该文件的权限。假设你能够访问一个文件,那么即使该文件位于你不具有访问权限的文件夹中,你也可以进行访问(前提是该文件没有继承它所属的文件夹的权限)。

3、 拒绝权限高于其他权限
  拒绝权限可以覆盖所有其他的权限。甚至作为一个组的成员有权访问文件夹或文件,但是该组被拒绝访问,那么该用户本来具有的所有权限都会被锁定而导致无法访问该文件夹或文件。也就是说上面第一点的权限累积原则将失效。

4、 指定的权限高于继承的权限
  即一个对象上对某用户/组的明确权限设置优先于继承而来的对该用户/组的权限设置。例如本来该用户继承自父文件夹有对其下子文件夹或文件有“拒绝”的权限,但是管理员在该子文件夹或文件上授予该用户有“允许”的权限,则该用户对该子文件夹或文件拥有“允许”的权限。结合继承、指定和拒绝、允许的条件,有如下的规则:指定拒绝 > 指定允许 > 继承拒绝 > 继承允许。

以上为一些权限设置应用的规则,当然,我们不必自己手动计算权限结果,而可以使用“有效权限”选项卡来自动计算某一用户/组的有效权限。但需要注意的是它并不会考虑UAC对权限分配的影响。

NTFS权限详解的更多相关文章

  1. 【Linux学习】Linux下用户组、文件权限详解

    原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...

  2. Linux "ls -l"文件列表权限详解

    ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...

  3. MySQL权限详解

    MySQL权限级别介绍 MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上 ...

  4. Linux 用户及权限详解

    Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...

  5. Linux之权限详解

    如何知道你有什么权限 我能干什么?这是我最关心的问题! 切换到普通用户 [root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: c ...

  6. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  7. Linux学习之ACL权限详解(十)

    Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终 ...

  8. Linux权限详解 命令之 chmod:修改权限

    权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x. Li ...

  9. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

随机推荐

  1. sql注入,xss攻击,csrf(模拟请求),防盗链

    如何防止别人模拟请求? 使用令牌token解决模拟请求  好处是 唯一性只能有一次请求 已经拿到生成的token  如何防止呢?  怎样防止非人工? 使用验证码 xss攻击? xss攻击也叫脚本注入 ...

  2. 前端语言之js(对比python快速入门)

    昨日内容回顾 浮动 定位 溢出 透明度 模态框 今日内容概要 变量与常量 基本数据类型 数据类型内置方法 函数 常见内置对象 BOM与DOM操作 内容详细 1.变量与常量 # 在JS中声明变量需要使用 ...

  3. desktopForWin安装

    window环境下搭建appium(win7和win10都试过,能行),这里只说了Android自动化环境.iOS自动化需要MacOS支持. 一.python环境搭建 下载Python 官网下载地址h ...

  4. Kubernetes:容器资源需求与限制(约束)

    Blog:博客园 个人 A Container is guaranteed to have as much memory as it requests, but is not allowed to u ...

  5. 《PHP程序员面试笔试宝典》——什么是职场暗语?

    本文摘自<PHP程序员面试笔试宝典> 文末有该书电子版下载. 随着求职大势的变迁发展,以往常规的面试套路因为过于单调.简明,已经被众多"面试达人"们挖掘出了各种&quo ...

  6. .NET 固定时间窗口算法实现(无锁线程安全)

    一.前言 最近有一个生成 APM TraceId 的需求,公司的APM系统的 TraceId 的格式为:APM AgentId+毫秒级时间戳+自增数字,根据此规则生成的 Id 可以保证全局唯一(有 N ...

  7. PyTorch图文安装教程(Win10),含遇到的问题及解决办法

    PyTorch安装教程(Win10),含遇到的问题及解决办法 1. 环境准备 首先,打开PyTorch官网:https://pytorch.org/get-started/locally/ 向下可以看 ...

  8. 利用 kubeasz 给 suse 12 部署 kubernetes 1.20.1 集群

    文章目录 1.前情提要 2.环境准备 2.1.环境介绍 2.2.配置静态网络 2.3.配置ssh免密 2.4.批量开启模块以及创建文件 2.5.安装ansible 2.5.1.安装pip 2.5.2. ...

  9. 模块和包—Day28

    一.模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import的过程:import一个模块的时候,首先创建一个属于my_module的内存空间,加载my_ ...

  10. Redis 源码简洁剖析 15 - AOF

    AOF 是什么 AOF 持久化的实现 命令追加 AOF 文件的写入和同步 AOF 文件的载入和数据还原 AOF 重写 为什么需要重写 什么是重写 如何重写 AOF 后台重写 为什么需要后台重写 带来的 ...