为什么我得到"访问被拒绝"什么时候我有有效的阅读权限?

时间:2016-08-28 15:50:04

标签: windows acl windows-security dacl

我无法读取特定文件,即使据我所知,我已经阅读了它的权利。这是"有效访问"所示:

Effective Access

以下是Get-Acl给我的内容。

PS ...> Get-Acl .\HelloWorld.java | Format-List


Path   : Microsoft.PowerShell.Core\FileSystem::I:\...\HelloWorld.java
Owner  : ...\Admin
Group  : G:S-1-5-21-4281937098-1570975092-1098596674-513
Access : ...\Admin Allow  FullControl
Audit  :
Sddl   : O:S-1-5-21-3073128669-2165567304-4059943147-1001G:S-1-5-21-4281937098-1570975092-1098596674-513D:PAI(A;;FA;;;S-1-5-21-3073128669-2165567304-4059943147-1001)

当我尝试在记事本中打开它,或者甚至只是从命令行复制它时,我收到一个错误:

I:\...>copy HelloWorld.java C:\HelloWorld.java
Access is denied.
        0 file(s) copied.

I:\...>more HelloWorld.java
Cannot access file I:\...\HelloWorld.java

我以Admin身份登录,并且cmd.exe shell已升级(右键单击并执行了#34;以管理员身份运行")。

请注意,它原来不是SDDL_PROTECTED,但我添加了(通过Windows GUI),以确保没有继承的内容会导致访问混乱。然后我添加了一个ACE,让Admin完全控制。该驱动器以前是Win7机器的系统盘,但我试图在Win10机器上读取它。

1 个答案:

答案 0 :(得分:1)

当保护措施正常时,可能会出现其他2个问题

  1. 路径太长:某些应用程序不喜欢它(但是找不到文件而不是拒绝访问):解决方法:使用subst在较低级别安装驱动器并从此处访问
  2. 文件由另一个程序/服务以写入模式打开。
  3. 文件使用Windows内置加密进行加密。在这种情况下,它在原始计算机上运行正常,但是当您将磁盘安装在其他位置时,即使权限正常,您也会“拒绝访问”
  4. 可能性是:自从您切换计算机后它是选项3。