Por que não consigo arrastar / soltar um arquivo para edição no bloco de notas no Windows Server 2008?

3

Quando o bloco de notas é executado, posso arrastar / soltar um arquivo para abri-lo, mas ele não pode salvar o arquivo. Quando executo o bloco de notas elevado para salvar o arquivo, não consigo mais arrastar / soltar para abrir o arquivo.

Eu entendo que é um risco de segurança arrastar um arquivo de um programa não elevado para um programa elevado; no entanto, quando eu executo o explorador elevado também, ainda não consigo arrastar / soltar o bloco de notas elevado.

Por que o sistema operacional não permite que dois programas elevados troquem informações via arrastar / soltar? Estou pensando seriamente em voltar a usar o Windows Server 2003 sobre isso.

Edit: Parece que dois programas elevados podem trocar informações; O explorador estava apenas falhando em elevar. Uma vez que o explorador é elevado, os arquivos podem ser arrastados do explorador para um bloco de notas elevado.

    
por Triynko 12.07.2009 / 18:55

6 respostas

7

A incapacidade de "arrastar e soltar" do Explorer para uma janela elevada do Bloco de Notas é uma manifestação do isolamento de privilégio da interface do usuário ( UIPI ) recurso. Está no sistema operacional para evitar que um aplicativo com menos privilégios envie "mensagens" arbitrárias (no sentido de comunicação entre sistemas operacionais / aplicativos entre processos) para outro aplicativo de maior privilégio. Se o aplicativo com privilégios mais altos manipulou uma mensagem indevidamente, pode ser possível que o aplicativo com menos privilégios faça com que o aplicativo com privilégios mais altos execute código arbitrário em seu nome (esses tipos de ataques são chamados de shatter , assim chamados em um artigo de 2002 descrevendo o método de ataque nas versões atuais do Windows.

Você pode pensar em um pouco como um "firewall" entre aplicativos executados com um "nível de integridade" mais baixo (sem privilégios) e aqueles com um nível de integridade mais alto (elevado).

Se você realmente deseja um Windows Explorer elevado, faça o seguinte:

  • Inicie um prompt de comando elevado e deixe-o aberto.
  • Inicie o Gerenciador de tarefas e eleve-o indo até a guia "Processo" e clicando em "Mostrar processos de todos os usuários".
  • Destaque e mate todas as instâncias do Explorer.Exe usando o Gerenciador de Tarefas.
  • Na janela de prompt de comando elevada ainda aberta, insira "Explorer" e pressione < ENTER >.

O Explorer reabrirá novamente.

    
por 12.07.2009 / 19:34
6

Se você não quiser desabilitar o UAC, pode tentar apenas desabilitar o UIPI (Isolamento Privilégio da Interface do Usuário).

Abra o regedit e vá para: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Adicione um novo DWORD (32-bit) Value chamado EnableUIPI e defina-o como 0 .

Reinicie a máquina e veja se ela se comporta como você deseja.

    
por 12.07.2009 / 21:34
2

Este foi um problema no Vista, e eu acho que também chegou ao servidor 2008. Basicamente você não pode executar o explorador elevado. Você obtém a opção de segurança para fazer isso, e parece ter funcionado quando você faz isso, mas na verdade você ainda acaba com uma janela de explorador padrão (não elevada), daí o problema que você tem.

As soluções que eu tive que usar no passado envolveram o uso das janelas save as explorer em sua sessão de bloco de notas elevado, pois isso também é elevado, ou usando um prompt de comando elevado para criar arquivos, mas nenhum deles consertará seu problema de arrastar e soltar, obviamente. É um bug muito ruim, que já existe há algum tempo, eu não sei por que eles não consertam, então você pode executar uma instância elevada do Explorer.

    
por 12.07.2009 / 19:05
1

Acho que o problema é que, quando você executa programas como administrador, eles ainda estão sendo executados na mesma estação de janela que todos os outros programas. O Explorer só permitirá que ele seja executado uma vez em qualquer estação de janela, ou seja, uma instância do explorer.exe, para que você não possa executar uma cópia elevada do Explorer.

Há uma tendência a reclamar sobre os aspectos intrusivos do controle de acesso do usuário, mas a segurança sempre tem um preço. Devo admitir que desativo o UAC em servidores raramente conectados, porque confio em mim mesmo para não fazer nada estúpido. Eu deixo o UAC para servidores de terminal, e estou mais do que feliz em aturar as pequenas dificuldades que isso implica.

JR

    
por 12.07.2009 / 19:14
0

Em um palpite, eu diria que o código encarregado de organizar os detalhes necessários para arrastar e soltar está sendo executado em um contexto não elevado junto com o restante da interface do usuário (incluindo o Explorer), por isso não é ser capaz de acessar as informações do pipe entre os dois processos.

    
por 12.07.2009 / 19:08
0

Edite a cópia em seu banco de dados de configuração e copie a nova versão para o seu host substituindo a antiga (ou faça com que o banco de dados de configuração faça todo o trabalho para você, se puder);)

Ou, abra o arquivo diretamente no bloco de notas elevado, se não quiser elevar o explorador.

Editar os arquivos do sistema não deve ser um clique, arraste e solte coisa - pelo menos não como eu vejo. Também não há muito problema em desabilitar o UAC para sessões administrativas, você deve apenas fazer um trabalho administrativo no servidor (sem servidores de terminal ou outras coisas) então por que se preocupar com o UAC quando a única coisa que você quer fazer requer elevação? p>

O UAC não é realmente um limite de segurança, pois há várias maneiras de os aplicativos contornarem esse limite. É por isso que você deve executar normalmente como um usuário padrão com direitos normais, em que a elevação não é possível sem fornecer credenciais adicionais, como antes da introdução do UAC.

Na minha opinião, o UAC introduziu um diálogo de runas mais amigável com alguma inteligência, não deve ser usado para ser executado como administrador e se sentir seguro sobre isso.

    
por 12.07.2009 / 21:02