Sudo para Windows

O Sudo para Windows é uma nova maneira de os usuários executarem comandos elevados (como administrador) diretamente de uma sessão de console sem elevação 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

Você deve estar executando o Windows 11 Insider Preview Build 26052 ou superior para usar o comando Sudo para Windows. (Verificar se há atualizações do Windows). Ingressar no Programa Windows Insider

Observação

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

Como habilitar o Sudo para Windows

Para habilitar o Sudo para Windows, abra Settings > For Developers e defina Habilitar sudo como Ativado.

habilitar o Sudo

Aviso

O Sudo para Windows pode ser usado como um potencial escalonamento de vetor de privilégio quando habilitado em determinadas configurações. Você deve 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 menu ou programaticamente, usando a Settings > For Developers 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 do Sudo para Windows. Use sudo nessa configuração para executar o comando em uma nova janela. Isso é semelhante ao comportamento do runas /user:admin comando.

  • Entrada fechada (disableInput): A disableInput opção de configuração executará o processo elevado na janela atual, mas com a alça de entrada fechada Isso significa que o processo elevado não poderá receber entrada da janela do console atual. 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 do console atual. Essa opção de configuração fornece parte da conveniência da opção de configuração e, ao mesmo tempo, reduz alguns dos riscos de inline 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 do 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 do console atual. Essa opção de configuração fornece 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 Sudo para Windows

Para usar o Sudo para Windows, basta acessar sudo o comando que você deseja executar como administrador. Por exemplo, para executar como administrador, você deve executar netstat -ab 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 sobre segurança

Há riscos associados à execução do sudo na configuração Entrada fechada (inputClosed) ou Inline (normal). É possível que processos mal-intencionados tentem conduzir o processo elevado usando a conexão estabelecida pelo 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 o identificador de entrada da janela do console atual 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 do console ou obter informações da saída nas janelas atuais nessa 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 contexto atual de linha de comando não elevada 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 oferece suporte à 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. Esta 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 fazer isso em uma nova janela, que se assemelha ao fluxo do runas administrador.
    • Você pode optar por conectar o processo elevado à janela do console atual com as disableInput opções e normal configuração. Essa propriedade não tem suporte com runas.
  • runas pode solicitar aos usuários uma senha na linha de comando.

  • sudo só pode ser elevado por meio do recurso de segurança Controle de Conta de Usuário (UAC) projetado para proteger o sistema operacional contra alterações não autorizadas usando o prompt de verificaçã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 de executar o inputClosed sudo nos modos 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 Windows repositório de código aberto

O Sudo para 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 by Gerardo Grignoli que tem uma série de recursos adicionais e opções de configuração ou confira outras soluções da comunidade.