我遇到一个问题,每次尝试删除或重命名可执行文件时,都会出现拒绝访问错误。我运行的是 Windows 7 Ultimate 64 位,并且只处理用户目录中的文件(文档、下载等)。
当我在 Windows 资源管理器中收到拒绝访问错误时,它会说该文件正在被另一个应用程序使用。因此,我打开 Process Explorer 并搜索任何打开了该文件的内容,但什么也没有。但是,这似乎是文件权限问题。
如果我右键单击该文件并转到“属性”->“安全”,我会看到一条消息:
“要继续,您必须是具有查看此对象的安全属性权限的管理用户。要继续吗?”请注意,我是管理员用户,也是创建文件的用户(UAC 已启用)。如果我单击“继续”按钮,我会得到另一个对话框,其中包含以下消息:“您无权查看此对象的安全属性。要查看其安全属性,您可以尝试获取对象的所有权。作为所有者,您还可以控制谁获得对象的权限。请注意,一旦您获得所有权,以前的所有者可能无法访问该对象。要尝试获取对象的所有权,请从列表中选择一个帐户,然后单击“确定”。
因此我选择我的用户帐户,单击“确定”,但出现访问被拒绝错误。
不知何故,该文件的文件权限已被完全删除。这很奇怪,因为我正在处理的文件通常是我自己创建的文件(从 Visual Studio 编译、通过 Firefox 下载安装程序、从网络驱动器或 USB 驱动器复制文件等)。
更奇怪的是,如果我最初尝试删除该文件,导致访问被拒绝错误,我最终会花一点时间检查权限,在 Google 上搜索几分钟,最后我注意到该文件突然消失了。所以我被这个损坏的权限困住了,我无法对文件做任何事情,直到大约 5 或 10 分钟后它神奇地消失。
起初我怀疑是我的防病毒软件出了问题(我正在运行 Microsoft Security Essentials)。但是,我尝试禁用它并完全卸载它,但问题仍然存在。
知道这里可能发生了什么事吗?
答案1
检查您是否已启用 EFS(加密文件服务)(lsass.exe)。启用后,我的问题就解决了。
对我来说,它会导致间歇性权限错误。这很麻烦,因为我经常重新编译二进制文件,并且必须等待一分钟才能清除错误,然后才能重新编译。
答案2
您是否对文件系统运行了完整版chkdsk
?安全描述符可能会损坏,并且 Windows 并不总是会自动检测文件系统中的某些不良情况。有时文件系统的问题甚至不是由硬件错误引起的,直到下一次运行才会被检测到chkdsk
。
我本来要建议禁用病毒扫描程序的实时扫描功能,但你似乎抢先一步将其卸载了。
除此之外chkdsk
,我建议您还没有尝试的唯一其他事情是检查 HDD 的 SMART 状态(使用诸如gsmartcontrol
或任何其他程序)以确保您的磁盘正常。