web-dev-qa-db-ja.com

Windows 7エクスプローラーでPuttygenによって作成されたファイルが非表示になるのはなぜですか?

Windows 7 Home Premiumでは、CドライブのルートでPuTTYキージェネレーター(別名:Puttygen)に秘密キーを保存した後、エクスプローラーに表示されません。

再現方法:

  1. Puttygenを起動します。
  2. キーを生成します。
  3. [秘密キーの保存]をクリックします(これは[公開キーの保存]でも機能しますが、元のケースのみをテストしました)。
  4. C:に移動します。
  5. id_rsaなどの名前を入力して、ファイルをC:\id_rsa.ppkとして保存します。
  6. エクスプローラーを起動します。
  7. C:に移動します。

結果:id_rsa.ppkは表示されません。

ファイルが存在することを証明するには:

  1. Puttygenに戻ります。
  2. もう一度「秘密鍵を保存」ボタンをクリックしてください。
  3. C:に移動します。

このウィンドウでは、ファイルを操作できます。そこからファイルのプロパティを確認しました:

  • それは隠されていません。
  • ユーザーの「フルコントロール」がチェックされています。
  • 「で開く」は「Windows Shell Common Dll」と不思議に言います。

追加情報:

  • 私は昨日Windowsをインストールしたので、それはソニーが蔓延した怪物ではありません。
  • 最新のセキュリティアップデートと.NET 4.0をすべて備えています。
  • do TortoiseGitと7Zipの統合がインストールされているので、これに何らかの関係があると考えられます(ただし、.ppkファイルはどちらにも関連付けられていないはずです)。

didファイルをエクスプローラーに表示するもの:

  • ファイルを別のディレクトリに保存してから、エクスプローラーでC:\にコピー/移動しました(両方とも動作しました)。最初に「続行」をクリックしなければならない「宛先フォルダへのアクセスが拒否されました」というリクエストを受け取りました。
  • 別のディレクトリにファイルを保存し、代わりにそこに移動した。
  • 別のディスクのルート(この場合はD:)にファイルを保存し、そこに移動しました。

失敗ファイルをエクスプローラーに表示するもの(ヒット F5 各アクションの後にエクスプローラーウィンドウで更新するには):

  • ファイルの名前をfoo.ppkに変更しました。
  • 別の名前で2番目のコピーを保存しました。
  • 「隠しファイル、フォルダ、ドライブを表示する」をオンにしました。
  • 「保護されたオペレーティングシステムファイルを非表示にする」をオフにしました。
  • ファイルを別のディレクトリに保存してから、C:\Puttygen保存ダイアログにコピーしました。私はnotエクスプローラーのようにファイルを保存する許可を与えるように求められました。

私の素朴な仮定は、エクスプローラーに「制限された」(Puttygenがそれを無視するため実際には制限されていない)ディレクトリーの組み込みの特別なケースがあり、「宛先フォルダーのアクセスが拒否されました」ダイアログでファイルリストを更新するだけであるということです。実際の原因は何ですか?

18
l0b0

Vista以降のバージョンのWindowsでは、「ユーザー」が書き込みアクセス権を持たないフォルダーに非特権プロセスを保存することはできません(ローカル管理者であり、Administratorsグループがアクセス権を持っている場合でも)。したがって、非特権プログラムがファイルを書き込もうとすると、実際には%localappdata%\VirtualStoreに保存されます。

24
Chris S

さて、私は同じ動作を見ましたが、ファイルは確かにVirtualStoreにありますが、面白いと思ったのは、bashシェル(cygwinがインストールされている)をロードすると、Program Files\PuTTYのようにファイルが表示されることです。それらは、Windowsのコマンドシェルが言うように奇妙に見えないのではなく、むしろあるべきです。したがって、cygwinを使用している場合は、ファイルシステム全体を追跡するのではなく、キーファイルをそのように見ることができます。

0
Patrick Taylor