- Anunciado o lançamento do Sudo para Windows no Windows 11 Insider Preview Build 26052
- O Sudo para Windows é uma nova forma de permitir que os usuários executem comandos elevados diretamente de uma sessão de console sem privilégios
- Agora não é mais necessário procurar por "Executar como administrador"
- Disponibilizado como open source no GitHub
- Caso você precise de recursos adicionais que o Sudo para Windows não oferece, é recomendado conferir o gsudo, de Gerardo Grignoli
Como ativar o Sudo para Windows
- É possível ativar o Sudo para Windows indo até a página "Configurações para desenvolvedores" nas configurações do Windows e habilitando a opção "Ativar Sudo"
- Ou ativá-lo executando o seguinte comando em uma sessão de console elevada:
sudo config --enable
Como configurar o Sudo para Windows
- Atualmente, o Sudo para Windows oferece suporte a três opções de configuração: executar em uma nova janela (forceNewWindow), desabilitar entrada (disableInput) e inline (normal)
- Para alterar a opção de configuração, use o menu suspenso na página "Configurações para desenvolvedores" das configurações do Windows ou execute um comando em uma sessão de console elevada.
Opção de configuração 1: Em uma nova janela
- Nessa configuração, o Sudo para Windows abre uma nova janela de console elevada e executa o comando nela.
- Por exemplo, ao executar
sudo netstat -ab, uma nova janela é aberta e o comando é executado nela.
Opção de configuração 2: Desabilitar entrada
- Nessa configuração, o Sudo para Windows executa o processo elevado na janela atual, mas o novo processo é criado com o stdin fechado.
- Ou seja, o novo processo não aceita entrada do usuário, então não funciona para processos que exigem entrada adicional após a elevação de privilégios.
Opção de configuração 3: Inline
- Essa configuração é a que mais se aproxima do comportamento do sudo em outros sistemas operacionais.
- O Sudo para Windows executa o processo elevado com stdin, stdout e stderr conectados à janela atual.
- Isso significa que o novo processo elevado pode receber entrada e enviar saída para a janela atual.
Como funciona
- Ao usar o sudo na linha de comando para elevar os privilégios de um processo, uma caixa de diálogo do UAC é exibida para que o usuário confirme a elevação.
- Quando o usuário confirma a elevação, o processo é elevado de acordo com a opção de configuração escolhida.
- Para conferir os parâmetros opcionais do comando
sudo, execute sudo -h no console.
Em uma nova janela
- Nessa configuração, o sudo.exe abre uma nova janela de console elevada e executa o comando nela.
- A nova janela é iniciada com o mesmo diretório de trabalho e as mesmas variáveis de ambiente da janela atual.
- Essa configuração tem um fluxo semelhante ao comando runas.
Desabilitar entrada e inline
- Nessa configuração, o sudo.exe inicia um novo processo elevado, inicia um processo sudo.exe elevado e o sudo.exe original sem privilégios estabelece uma conexão RPC com o novo processo elevado.
- Em outras palavras, as informações são repassadas da instância sem privilégios do sudo para a instância elevada.
- Em especial, os handles de console do processo sem privilégios são repassados ao processo elevado, permitindo que o processo elevado leia a entrada do processo sem privilégios e grave a saída nele.
- No entanto, na configuração "Desabilitar entrada", o handle de entrada do console não é repassado ao processo elevado, portanto ele não pode ler entrada do usuário.
Próximos passos
- A equipe está trabalhando para tornar o Sudo para Windows open source e pretende compartilhar mais detalhes sobre os planos nos próximos meses.
- Foi pedido que o feedback seja compartilhado diretamente no repositório do GitHub.
Opinião do GN⁺:
- O lançamento do Sudo para Windows é um avanço importante por oferecer aos usuários do Windows uma experiência de gerenciamento de privilégios no estilo Linux.
- A ferramenta ajuda desenvolvedores a trabalharem com mais eficiência e, ao se tornar open source, pode receber contribuições da comunidade.
- Do ponto de vista de segurança, o uso da configuração "inline" exige cautela, e é interessante que mais informações sobre essas questões de segurança devam ser fornecidas em documentação futura.
1 comentários
Comentários no Hacker News
sudoestá sendo introduzido no Windows. Não se trata de um simples porte dosudodo Linux, mas de uma nova implementação que leva em conta as diferenças na estrutura de permissões entre os sistemas operacionais. O objetivo é oferecer ao usuário a experiência de executar comandos com privilégios de administrador na mesma janela de terminal.curlewgetpor comandos completamente diferentes. Isso pode ser problemático porque os argumentos não são compatíveis.elevateda Nirsoft funcionava bem, mas é melhor ter um recurso mais integrado ao sistema.sudoseja mantido quase que por uma única pessoa.sudosem mencionar sistemas operacionais da família Linux/Unix.sudo.ps1dopsutils, instalado viascoop. Há um prompt de UAC, mas ele é adequado para trabalho interativo.sudoseja um comando extremamente complexo.sudofoi introduzido como um novo recurso no Windows, mas por enquanto parece inseguro. A expectativa é que melhore com o tempo.