为什么 Puttygen 创建的文件隐藏在 Windows 7 资源管理器中?

l0b*_*0b0 19 ntfs windows-explorer putty

在 Windows 7 家庭高级版中,在 C 驱动器根目录下的 PuTTY 密钥生成器(又名 Puttygen)中保存私钥后,它在资源管理器中不可见。

如何重现:

  1. 启动腻子。
  2. 生成密钥。
  3. 单击“保存私钥”(这也适用于“保存公钥”,但我只用它测试了原始情况)。
  4. 导航到C:
  5. 输入名称,例如id_rsa,将文件另存为C:\id_rsa.ppk.
  6. 启动资源管理器。
  7. 导航到C:

结果:没有id_rsa.ppk可见。

证明文件存在:

  1. 回到普蒂根。
  2. 再次单击“保存私钥”按钮。
  3. 导航到C:

在此窗口中,您可以与文件进行交互。我从那里检查了文件属性:

  • 它不是隐藏的。
  • 为我的用户检查“完全控制”。
  • “打开方式”奇怪地写着“Windows Shell Common Dll”。

附加信息:

  • 我昨天安装了 Windows,所以它不是索尼出没的怪物。
  • 它拥有所有最新的安全更新和 .NET 4.0。
  • 确实安装了 TortoiseGit 和 7zip 集成,因此可以想象它们与此有关(尽管 .ppk 文件不应与它们中的任何一个相关)。

确实使文件显示在资源管理器中的事情:

  • 将文件保存在另一个目录中,然后使用资源管理器将其复制/移动(两者都有效)到C:\. 我确实收到了“目标文件夹访问被拒绝”的请求,我必须先单击“继续”。
  • 将文件保存在另一个目录中并导航到那里。
  • 将文件保存在另一个磁盘的根目录(D:在本例中)并导航到那里。

未能使文件显示在资源管理器中的事情(F5在每次操作后点击资源管理器窗口中的刷新):

  • 将文件重命名为foo.ppk.
  • 以不同的名称保存了第二个副本。
  • 打开“显示隐藏的文件、文件夹和驱动器”。
  • 关闭“隐藏受保护的操作系统文件”。
  • 将文件保存在另一个目录中,然后将其复制到C:\ Puttygen 保存对话框中。我没有被要求授予保存文件的权限,就像在资源管理器中一样。

我天真的假设资源管理器有一些内置的“受限”(实际上并未受限,因为 Puttygen 忽略它)目录的特殊情况,仅通过“目标文件夹访问被拒绝”对话框更新文件列表。真正的原因是什么?

Chr*_*s S 25

在 Vista 和更新版本的 Windows 中,不允许非特权进程保存到“用户”没有写访问权限的文件夹(即使您是本地管理员并且管理员组有访问权限)。所以当一个非特权程序试图在那里写一个文件时,它实际上被保存在%localappdata%\VirtualStore.

  • 谢谢,就是这样。很好的 ol windows,不断剥夺您对自己操作系统的控制权。 (2认同)