代码之家  ›  专栏  ›  技术社区  ›  kec

为什么我有有效的读取权限时会被“拒绝访问”?

  •  1
  • kec  · 技术社区  · 8 年前

    我无法读取某个特定文件,尽管据我所知,我对其拥有读取权限。以下是“有效访问”显示的内容:

    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被提升(右键单击并执行“以管理员身份运行”)。

    请注意,它不是最初的 SDDL_PROTECTED

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jean-François Fabre    8 年前

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

    1. subst 从这里进入
    2. 文件被另一个程序/服务以写模式打开。
    3. 文件使用windows内置加密进行加密。在这种情况下,它在原始计算机上正常工作,但当您将磁盘装载到其他位置时,即使权限正常,也会被“拒绝访问”

    机会是:这是选项3,因为你换了电脑。