Por que os arquivos criados por Puttygen estão ocultos no Windows 7 Explorer?

17

No Windows 7 Home Premium, depois de salvar uma chave privada no PuTTY Key Generator (aka Puttygen) na raiz da unidade C, ela não fica visível no Explorer.

Como reproduzir:

  1. Inicie o Puttygen.
  2. Gere uma chave.
  3. Clique em "Salvar chave privada" (isso também funciona para "Salvar chave pública", mas só testei o caso original com isso).
  4. Navegue para C:.
  5. Digite um nome, por exemplo id_rsa, para salvar o arquivo como C:\id_rsa.ppk.
  6. Inicie o Explorer.
  7. Navegue para C:.

Resultado: não id_rsa.ppké visível.

Para provar que o arquivo existe:

  1. Volte para Puttygen.
  2. Clique no botão "Salvar chave privada" novamente.
  3. Navegue para C:.

Nesta janela, você pode interagir com o arquivo. Eu verifiquei as propriedades do arquivo a partir daí:

  • Não está escondido.
  • "Controle total" está marcado para o meu usuário.
  • "Abre com" diz estranhamente "Dll ​​comum do Windows Shell".

Informação adicional:

  • Eu instalei o Windows ontem, então não é uma monstruosidade infestada pela Sony.
  • Possui todas as atualizações de segurança mais recentes e o .NET 4.0.
  • Eu tenho a integração do TortoiseGit e 7zip instalada, por isso é concebível que eles tenham algo a ver com isso (embora os arquivos .ppk não devam estar relacionados a nenhum deles).

Coisas que fizeram o arquivo aparecer no Explorer:

  • Salve o arquivo em outro diretório e copie / mova-o (ambos funcionaram) com o Explorer para C:\. Recebi uma solicitação "Acesso negado à pasta de destino", onde precisei clicar em "Continuar" primeiro.
  • Salve o arquivo em outro diretório e navegue até lá.
  • Salve o arquivo na raiz de outro disco ( D:nesse caso) e navegue até lá.

Os itens que falharam ao criar o arquivo aparecem no Explorer (pressionando F5para atualizar na janela do Explorer após cada ação):

  • Renomeou o arquivo para foo.ppk.
  • Salva uma segunda cópia com um nome diferente.
  • Ativado "Mostrar arquivos, pastas e unidades ocultas".
  • Desativado "Ocultar arquivos protegidos do sistema operacional".
  • Salve o arquivo em outro diretório e C:\ copie-o na caixa de diálogo Salvar Puttygen . Não me pediram permissão para salvar o arquivo, como no Explorer.

Minha suposição ingênua é que o Explorer possui algum caso especial interno para diretórios "restritos" (na verdade não restritos, pois Puttygen o ignora trivialmente), atualizando apenas a lista de arquivos na caixa de diálogo "Acesso negado à pasta de destino". Qual é a causa real?

l0b0
fonte

Respostas:

23

No Vista e nas versões mais recentes do Windows, não é permitido salvar um processo sem privilégios em pastas nas quais "Usuários" não tem acesso de gravação (mesmo se você for um administrador local e o grupo Administradores tiver acesso). Portanto, quando um programa sem privilégios tenta gravar um arquivo, ele é salvo %localappdata%\VirtualStore.

Chris S
fonte
2
Obrigado, foi isso. Boas janelas, tirando constantemente o controle sobre o seu próprio sistema operacional.
Amalgovinus
@Amalgovinus - O controle não foi retirado, apenas o fluxo de trabalho foi alterado; por motivos de segurança, um processo elevado funciona exatamente como sempre. O Vista acabou de mudar a forma como um processo é elevado, um usuário precisa solicitá-lo especificamente, em vez de um processo executado automaticamente com as mesmas permissões que o usuário.
Ramhound 4/01/16
Isso também funcionou para o Windows 10 x64
#
0

Bem, eu vi o mesmo comportamento, e os arquivos estão realmente no VirtualStore, mas o que achei interessante é que, se eu carregar o bash shell (eu tenho o cygwin instalado), ele mostrará os arquivos como em Program Files \ putty, como eu pensava eles devem ser, em vez de estranhamente, não visíveis, como diz o shell do cmd do windows. Portanto, se você possui o cygwin, pode ver seus arquivos-chave dessa maneira, em vez de percorrer todo o sistema de arquivos.

Patrick Taylor
fonte
Sua resposta não me parece clara por algum motivo!
Pimp Juice TI