Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Sudo para Windows é uma maneira de 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. (Verificar se há atualizações do Windows).
Como habilitar o Sudo para Windows
Para habilitar o Sudo para Windows, abra o System > Advanced nas Configurações do Windows 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 no menu Avançado do Sistema > ou programaticamente, usando a linha de comando. As opções de configuração incluem:
Em uma nova janela (
forceNewWindow): AforceNewWindowopção de configuração é a opção de configuração padrão do Sudo para Windows. Usesudonessa configuração para executar o comando em uma nova janela. Isso é semelhante ao comportamento dorunas /user:admincomando.Entrada fechada (
disableInput): A opção de configuraçãodisableInputexecutará o processo elevado na janela atual, mas com o handle de entrada fechado. Isso implica que o processo elevado não poderá receber entrada da janela de console aberta atualmente. 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 deinlinesegurança associados.Inline (
normal): A opção de configuraçãonormalé a mais semelhante a como o sudo se comporta em outros sistemas operacionais. Esta configuração fará com que o processo elevado seja executado 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 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 menu Avançado do Sistema > ou alterar a configuração programaticamente, em uma linha de comando com privilégios elevados (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 adicionar sudo antes do comando que você deseja executar como administrador. Por exemplo, para executar como administrador, você deve executar netstat -absudo netstat -ab na janela do console.
Cenários comuns de desenvolvedor
Aqui estão alguns cenários comuns em que os desenvolvedores podem usar sudo:
-
Editando arquivos do sistema:
sudo notepad C:\Windows\System32\drivers\etc\hosts -
Instalando pacotes globalmente:
sudo npm install -g package-name -
Executando ferramentas administrativas:
sudo diskpart
Observação
Para o trabalho de desenvolvimento envolvendo diretórios do sistema, como C:\Windows\, considere o uso de ambientes de desenvolvimento ou abordagens alternativas quando possível. O Sudo deve ser usado de forma criteriosa e somente quando as permissões elevadas forem realmente necessárias.
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 na configuração Entrada fechada (disableInput) ou Inline (normal). É possível que processos mal-intencionados tentem controlar o processo elevado utilizando a conexão estabelecida pelo processo sudo.exe não privilegiado e pelo processo sudo.exe privilegiado.
A disableInput 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 opção de configuração inline executa o processo elevado na janela atual, permitindo que o processo receba entradas da sessão de console atual. Um processo nãolevado pode enviar entrada para o processo elevado dentro da mesma janela do console ou obter informações da saída na janela atual 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 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 comando sudo no Windows não oferece suporte à execução de programas como outros usuários. Outras diferenças importantes entre sudo e runas incluem:
runaspermite 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.sudoPermite elevar rapidamente um processo (como administrador):- Você pode optar por fazer isso em uma nova janela, que se assemelha ao fluxo do
runasadministrador. - Você pode optar por conectar o processo elevado à janela do console atual com as opções de configuração
disableInputenormal. Isso não tem suporte comrunas.
- Você pode optar por fazer isso em uma nova janela, que se assemelha ao fluxo do
runaspode solicitar aos usuários uma senha na linha de comando.sudosó pode ser elevado por meio do recurso de segurança Controle de Conta de Usuário (UAC) projetado para proteger o sistema operacional contra uma alteração não autorizada mediante um 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 sudo nos modos disableInput 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