Partilhar via


Sudo para Windows

Sudo para Windows é uma nova maneira para os usuários executarem comandos elevados (como administrador) diretamente de uma sessão de console não elevada no Windows.

Leia o anúncio, que inclui um vídeo de demonstração e aprofunde-se em como o Sudo para Windows funciona.

Pré-requisitos

O comando Sudo para Windows está disponível no Windows 11, versão 24H2 ou superior. (Verifique se há atualizações do Windows).

Observação

Sudo para Windows ainda não está disponível para o Windows 10, mas pode ser no futuro.

Como ativar o Sudo para Windows

Para habilitar o Sudo para Windows, abra Settings > System > For Developers e defina Enable sudo como On.

Ativar Sudo

Advertência

Sudo para Windows pode ser usado como um potencial escalonamento de vetor de privilégio quando ativado em determinadas configurações. Certifique-se de estar ciente das considerações de segurança ao ativar o comando sudo em sua máquina.

Como configurar o Sudo para Windows

Sudo para Windows atualmente suporta três opções de configuração diferentes. A configuração pode ser definida a partir do Settings > For Developers menu ou programaticamente, usando a linha de comando. As opções de configuração incluem:

  • Em uma nova janela (forceNewWindow): A forceNewWindow opção de configuração é a opção de configuração padrão para Sudo para Windows. Use sudo nesta configuração para executar o comando em uma nova janela. Isso é semelhante ao comportamento do runas /user:admin comando.

  • Entrada encerrada (disableInput): A opção de configuração disableInput executará o processo elevado na janela atual, mas com o identificador de entrada encerrado. Isso significa que o processo elevado não poderá receber entrada da janela atual do console. Isso é útil para cenários em que você deseja executar um comando como administrador, mas não deseja permitir que o comando receba entrada da janela atual do console. Esta opção de configuração fornece alguma da conveniência da opção de inline configuração enquanto reduz alguns dos riscos de segurança associados.

  • Inline (normal): A normal opção de configuração é mais semelhante a como o sudo se comporta em outros sistemas operacionais. Essa configuração executará o processo elevado na janela atual e o processo poderá receber entrada da sessão de console atual. Isso é útil para cenários em que você deseja executar um comando como administrador e deseja permitir que o comando receba entrada da janela atual do console. Essa opção de configuração oferece a maior conveniência, mas você só deve escolher essa opção se estiver familiarizado com os riscos de segurança associados.

Você pode selecionar entre essas configurações no Settings > For Developers menu ou alterar a configuração programaticamente, em uma linha de comando elevada (console de administração), usando:

  • sudo config --enable <configuration_option>

Atualize <configuration_option> para forceNewWindow, disableInputou normal.

Como usar o Sudo para Windows

Para usar o Sudo para Windows, basta anexar sudo o comando que você deseja executar como administrador. Por exemplo, para executar netstat -ab como administrador, você executaria sudo netstat -ab na janela do console.

Como sudo eleva o processo de destino para ser executado com permissão de nível de administrador, um prompt será aberto solicitando que você verifique se deseja continuar.

Considerações de segurança

Há riscos associados à execução do sudo nas configurações Input closed (inputClosed) ou Inline (normal). É possível que processos mal-intencionados tentem manipular o processo elevado através da conexão estabelecida pelo processo sudo.exe não elevado e o processo sudo.exe elevado.

A inputClosed opção de configuração reduz o risco fechando a alça de entrada. Desconectar a alça de entrada da janela atual do console significa que os processos não elevados não podem enviar entrada para o processo elevado.

A inline opção de configuração executa o processo elevado na janela atual e o processo é capaz de receber entrada da sessão de console atual. Um processo não elevado pode enviar entrada para o processo elevado dentro das mesmas janelas de console ou obter informações da saída nas janelas atuais nesta configuração.

Perguntas Frequentes

Qual é a diferença entre o Sudo para Windows e o comando existente runas ?

O sudo comando oferece uma maneira de elevar rapidamente um comando como administrador do seu contexto de linha de comando não elevado atual e é familiar para alguns usuários provenientes de outros sistemas operacionais. O runas comando oferece uma maneira de executar programas como qualquer usuário, incluindo administrador, se você assim escolher. Neste momento, o sudo comando no Windows não suporta a execução de programas como outros usuários. Outras diferenças importantes entre sudo e runas incluem:

  • runas Permite que você execute programas como outros usuários, incluindo, mas não limitado a, como administrador. Essa funcionalidade está no roteiro para o comando sudo, mas ainda não existe.

  • sudo Permite elevar rapidamente um processo (como administrador):

    • Você pode optar por fazê-lo em uma nova janela, que se assemelha ao fluxo do runas administrador.
    • Você pode optar por conectar o processo com privilégios elevados à janela atual do console com as opções de configuração disableInput e normal. Isso não é suportado com runas.
  • runas pode solicitar aos usuários uma senha na linha de comando.

  • sudo só pode ser elevado através da funcionalidade de segurança Controle de Conta de Usuário (UAC), projetada para proteger o sistema operativo contra alterações não autorizadas, usando o prompt de confirmação.

Você deve considerar seu caso de uso específico e planejar usar o comando que melhor atenda às suas necessidades. Você também deve considerar as implicações de segurança do uso do sudo nos modos inputClosed e normal. A opção de configuração padrão forceNewWindow é recomendada, a menos que você esteja familiarizado e confortável com os riscos associados às outras sudo configurações.

Sudo para repositório de código aberto do Windows

Sudo for Windows é de código aberto e agradece suas contribuições e comentários. Você pode encontrar o código-fonte do Sudo para Windows no GitHub.

Funcionalidade adicional

Se você está procurando por funcionalidades adicionais que o Sudo para Windows não fornece, confira o gsudo pelo Gerardo Grignoli qual tem uma série de recursos adicionais e opções de configuração ou confira outras soluções da comunidade.