跳到主要内容
外观
外观设置
显示模式
主题配色

保存在此浏览器,所有页面通用。

Windows NTFS 权限:“列出文件夹内容”和“读取及执行”的区别

2,327 次浏览0 次点赞
在 Windows 文件夹的“安全”设置中,“列出文件夹内容”和“读取及执行”看起来十分相似。理解这两种 NTFS 权限,需要同时关注权限作用的对象,以及权限向子文件夹、文件的继承范围。

 

两种权限有什么区别?

在传统 Windows 基本权限设置中,两者的区别主要体现在以下方面:

对比项 列出文件夹内容 读取及执行
英文名称 List Folder Contents Read & Execute
主要用途 浏览文件夹中的文件和子文件夹名称 读取文件内容,并允许执行可执行文件
适用对象 文件夹 文件夹和文件
常见继承范围 向子文件夹继承,不向文件继承 可向子文件夹和文件继承
是否授予子文件读取权限 不会仅凭此项自动授予 权限继承到文件后,可授予读取及执行权限

上表描述的是基本权限的常见配置。实际权限是否向下继承,还要看高级设置中的“应用于”范围,以及子对象是否启用了继承。Windows 会根据权限条目的继承标志,分别处理子文件夹和文件。参考:Microsoft 权限继承规则

为什么能看到文件名,却打不开文件?

假设有以下目录:

D:\资料
├─ 项目说明.txt
└─ 工具
   └─ example.exe

如果用户只获得了“资料”文件夹的“列出文件夹内容”权限,且没有其他相关授权,就可能看到其中的文件名,却无法打开“项目说明.txt”。

原因是:列出目录中的文件名,与读取文件内容,是对不同对象进行的权限检查。

Windows 的底层权限中,“列出文件夹”和“读取数据”使用相同的权限位,但前者作用于目录,后者作用于文件;“遍历文件夹”和“执行文件”也有类似关系。因此,文件夹上的权限不能直接等同于其中每个文件的权限。参考:Microsoft 文件访问权限常量

如果需要用户读取文件,应确保相应文件获得读取权限;如果还需要运行可执行文件,再按需要授予执行权限。

如何检查权限的继承范围?

右键目标文件夹,进入“属性 → 安全 → 高级”,查看相应用户或用户组的权限条目,重点检查:

  • 应用于:权限作用于当前文件夹、子文件夹,还是同时包含文件。

  • 继承来源:权限来自父文件夹,还是在当前对象上单独设置。

  • 子对象继承状态:目标文件或子文件夹是否停止了权限继承。

例如,同样是“读取及执行”,应用于“仅此文件夹”和应用于“此文件夹、子文件夹和文件”,产生的结果并不相同。

排查访问问题时,还应结合用户所属组的授权和拒绝条目判断,不能只看某一个复选框。

Everyone 权限是否适用于匿名用户?

Windows Server 2003 默认情况下不支持该功能。

在 Windows Server 2003 的默认配置中,匿名连接的访问令牌不包含 Everyone 的安全标识符(SID)。因此,仅向 Everyone 授予权限,通常不会使匿名用户获得同样的访问权限。

Windows Server 2008 及更高版本默认也不支持该功能。在这些系统中,匿名连接的访问令牌同样不包含 Everyone 的安全标识符(SID)。若要使匿名用户获得相应访问权限,必须显式授予 Anonymous Logon(匿名登录)账户所需的权限,或调整系统的匿名访问安全策略。

这一行为受“网络访问:让 Everyone 权限应用于匿名用户”安全策略控制。如果启用该策略,匿名用户的权限判断会发生变化。因此,不能把“Everyone 不包含匿名用户”理解为任何配置下都成立的绝对规则。参考:Microsoft 匿名访问策略说明