NTFS特殊权限配置疑问:已设置List Folder/Read Data权限却无法读取文件内容,Read Attributes权限无效果
NTFS特殊权限配置疑问:已设置List Folder/Read Data权限却无法读取文件内容,Read Attributes权限无效果
嘿,这个问题其实是对NTFS特殊权限的作用范围和继承规则理解不到位导致的,我来给你掰扯清楚:
为什么设置了文件夹的List Folder/Read Data却读不了文件内容?
你贴的那段权限说明其实已经点出了关键,但你可能没注意到权限的作用对象:
List Folder是仅针对文件夹的权限,作用就是让你能看到文件夹内的文件和子目录名,这也是你现在能看到文件名的原因,没问题。Read Data是仅针对文件的权限,意思是允许读取文件里的内容。但你是把这个权限设置在了文件夹上,而不是文件本身!
NTFS权限里,每个权限项都有明确的作用范围:当你在文件夹上配置Read Data时,这个权限只对文件夹对象本身有效(比如读取文件夹的元数据之类的),根本不会作用到文件夹里的文件。要读取文件内容,你有两个选择:
- 直接给目标文件单独设置
Read Data权限; - 在文件夹上设置权限时,把权限的应用范围(也就是“应用到”选项)设置为「该文件夹、子文件夹和文件」,这样文件夹的权限会继承给里面的所有文件和子文件夹,
Read Data才会生效到文件上。
你现在的情况应该是只把权限应用到了文件夹本身,没有传递给文件,所以自然读不了文件内容啦。
为什么Read Attributes权限看起来没效果?
这个也和权限的默认继承、基础权限的覆盖有关:
- 首先,
Read Attributes控制的是读取文件/文件夹的属性(比如只读、隐藏、存档这些),但如果你本身已经通过其他权限(比如List Folder)间接获得了读取基本属性的能力,那单独设置Read Attributes允许权限就不会有明显变化——因为你本来就有权限看这些属性。 - 其次,Windows系统默认会给普通用户组(比如Users)配置一些基础权限,可能已经包含了读取文件基本属性的权限,所以你显式设置或不设置这个允许权限,效果都一样。如果想测试这个权限的作用,你可以试试显式拒绝
Read Attributes权限,这时候你应该就看不到文件的属性了(比如右键属性里会看不到只读、隐藏这些选项,或者显示为空)。
总结一下,NTFS权限的关键是搞清楚权限作用的对象和应用范围,别把文件夹的权限和文件的权限搞混啦!
备注:内容来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

