在我的 Win7 64 Pro 上,我使用标准 Windows 资源管理器右键单击上下文菜单加密了一个子目录特性->先进的函数,但后来我发现它创建了一堆名为 EFS0.TMP、EFS1.TMP 等等的文件。
显然,这些文件是在 NTFS 加密文件时创建的,以便系统在加密失败时可以回滚加密。但似乎有时会遗留这些文件。令人不安的是,这些文件实际上是实际文件的未加密版本,这违背了加密的目的,并会给你一种虚假的安全感。
起初我并不知道它们在那里,因为虽然我已将 Windows 资源管理器配置为显示隐藏的文件、文件夹和驱动器它仍然隐藏着受保护的操作系统文件如以下截图所示:
取消选中指示的设置允许它们在 Windows 资源管理器中被看到,但不能通过在 Windows CMD 命令行中使用 DIR 来看到它们。
当我发现它们在那里时,我发现它们无法被删除,Windows 资源管理器会提示“您需要权限才能执行此操作”。
更重要的是,在目录树的各个级别上都有很多这样的文件。
答案1
我发现 EFS*.TMP 文件全部归 SYSTEM 所有,因此为了能够删除它们,我必须让它们归我所有,或者设置它们的权限以允许我删除它们。我找不到以递归方式更改所有权的简单方法,也不想单独访问每个文件,因此我的解决方案是通过以下方式从顶级目录传播读/写权限:
- 在 Windows 资源管理器中右键单击文件夹并选择特性
- 选择安全属性对话框中的选项卡
- 选择先进的调出高级设置
- 选择更改权限显示更多高级设置
- 选中“用可从该对象继承的权限替换所有子对象权限”
然后我点击了申请并在出现提示时确认操作。
然后我从我的顶级目录中搜索“EFS *。TMP”,组选择结果,然后删除从上下文菜单中将它们全部移动到回收站。