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
O comando Sudo para Windows está disponível no Windows 11, versão 24H2 ou superior. (Verificar se há atualizações do Windows).
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.
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
): AforceNewWindow
opção de configuração é a opção de configuração padrão do Sudo para Windows. Usesudo
nessa configuração para executar o comando em uma nova janela. Isso é semelhante ao comportamento dorunas /user:admin
comando.Entrada fechada (
disableInput
): AdisableInput
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 deinline
segurança associados.Inline (
normal
): Anormal
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
, disableInput
ou 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 enormal
configuração. Essa propriedade não tem suporte comrunas
.
- Você pode optar por fazer isso em uma nova janela, que se assemelha ao fluxo do
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.
Windows developer