NTFS权限详解
NTFS权限是作为一个Windows管理员必备的知识,许多经验丰富的管理员都能够很熟悉地对文件、文件夹、注册表项等进行安全性的权限设置,包括完全控制、修改、只读等。而谈论NTFS权限这个话题也算是老生常谈了,但是对于一些“新手”,还是会有一些不是非常清楚的地方,本文就针对NTFS权限的重点要素进行探讨,以给大家对于NTFS权限的内容有一个初步的了解。
一、 用户和组
权限设置必然涉及的三要素为访问者、权限、被访问的对象,那么我们首先来看一下“访问者”这一要素。“访问者”其实就是我们常说的“用户和组”,用户是授予权限的最小单位,而组则可以看作是用户的集合,在Windows系统中,用户与组都是使用SID作为其唯一标识符,应用到NTFS权限上也是如此,实际上也是对这些SID进行权限的授予。
那么在这里我们先来了解一下在工作组环境中的Windows系统内置的一些具备特殊功能作用的用户和组
二、 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的ACL中,还涉及到应用范围,那就是在NTFS权限设置的时候的作用域了,如下表列出了相应的作用域。
但是在实际的权限配置中,由于继承、权限选项以及特殊组的存在,作用域的效果并不是绝对的。如下则为在高级权限设置中,会出现的一些权限选项:
三、 NTFS权限的使用法则
为了更好地应用和制度NTFS权限在设置的时候将产生的效果,我们需要了解一些NTFS权限的法则。
1、 权限的积累,即权限最大法则
用户对资源的有效权限是分配给该个人用户账户和用户所属的组的所有权限的总和。如果用户对文件具有“读取”权限,该用户所属的组又对该文件具有“写入”的权限,那么该用户就对该文件同时具有“读取”和“写入”的权限。当有拒绝权限时权限最大法则无效。
2、 文件权限高于文件夹权限
意思就是说NTFS文件权限对于NTFS文件夹权限具有优先权,当用户或组对某个文件夹以及该文件夹下的文件有不同的访问权限时,用户对文件的最终权限是用户被赋予访问该文件的权限。假设你能够访问一个文件,那么即使该文件位于你不具有访问权限的文件夹中,你也可以进行访问(前提是该文件没有继承它所属的文件夹的权限)。
3、 拒绝权限高于其他权限
拒绝权限可以覆盖所有其他的权限。甚至作为一个组的成员有权访问文件夹或文件,但是该组被拒绝访问,那么该用户本来具有的所有权限都会被锁定而导致无法访问该文件夹或文件。也就是说上面第一点的权限累积原则将失效。
4、 指定的权限高于继承的权限
即一个对象上对某用户/组的明确权限设置优先于继承而来的对该用户/组的权限设置。例如本来该用户继承自父文件夹有对其下子文件夹或文件有“拒绝”的权限,但是管理员在该子文件夹或文件上授予该用户有“允许”的权限,则该用户对该子文件夹或文件拥有“允许”的权限。结合继承、指定和拒绝、允许的条件,有如下的规则:指定拒绝 > 指定允许 > 继承拒绝 > 继承允许。
以上为一些权限设置应用的规则,当然,我们不必自己手动计算权限结果,而可以使用“有效权限”选项卡来自动计算某一用户/组的有效权限。但需要注意的是它并不会考虑UAC对权限分配的影响。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?