Systemd procura substituir sudo por run0

Systemd procura substituir sudo por run0

É hora de um novo comando sudo?

systemd é um sistema init vital que está fortemente integrado com muitas distribuições Linux populares por aí. Ele fornece um gerenciador de sistema e serviço que é executado logo após a inicialização do kernel Linux, atuando como o primeiro processo na inicialização (PID 1).

Ele teve sua parcela de controvérsias, mas é, sem dúvida, um dos blocos de construção mais cruciais de um sistema Linux.

De significado semelhante é sudo, um programa que muitos de vocês já devem estar cientes. Ele permite que os usuários com um nível mais baixo de privilégio de segurança executem comandos como root para realizar tarefas que, de outra forma, não poderiam executar.

Com um post recente no Mastodon, o criador do systemd, Lennart Poettering, anunciou uma alternativa ao sudo chamada "run0" que visa resolver algumas armadilhas introduzidas pelo sudo.

Afastando-se de Sudo: O que está acontecendo?

Uma captura de tela do post de Lennart Poettering no Mastodon sobre a introdução do Run0 com SystemD 256

Introduzido como parte da próxima versão systemd 256, run0 é uma nova ferramenta que é um link simbólico usado para acionar uma ferramenta existente chamada "systemd-run". Com isso, você pode esperar um comportamento semelhante ao sudo, mas com a principal diferença de não ser um binário SUID.

Como run0 funciona é que ele envia uma consulta ao gerenciador de serviços para executar um comando sob o UID do usuário. Em seguida, ele aloca um novo PTY para isso e transfere os dados de ambas as maneiras do TTY inicial para o PTY recém-criado.

Lennart também acrescenta que:

Pode-se dizer que "run0" está mais próximo do comportamento de "ssh" do que de "sudo", em muitos aspectos. Só que ele não se preocupa com criptografia ou autenticação criptográfica, gerenciamento de chaves e outras coisas, mas depende dos mecanismos de identificação local do kernel.

Mesmo sabendo sobre a alternativa sudo do OpenBSD, "doas", ele menciona que ainda é um binário SUID. O problema com eles é que eles apresentam uma grande superfície de ataque que pode ser facilmente explorada, e quaisquer erros podem levar a ramificações consideráveis.

De qualquer forma, entre todas essas coisas, Lennart também compartilhou que, por padrão, run0 mudará a cor do fundo para um "tom avermelhado" quando você estiver operando com direitos de usuário elevados, como uma forma de lembrá-lo do fato.

Se a cor padrão não for sua xícara de chá, então você pode usar "--background= color", onde "color" pode ser qualquer uma das cores ANSI. Você também pode colocar "switch" em vez de "color" para desativar a coloração do fundo.

Quando alguém perguntou como poderia ser a adoção dessa ferramenta, vendo que run0 é mais difícil de digitar do que sudo, Lennart acrescentou que:

A linha de comando de run0 é intencionalmente mantida próxima à de sudo. Mas é aí que a compatibilidade realmente acaba, ou seja, /etc/sudoers e assim por diante nunca vamos adicionar compat para.

Do meu ponto de vista, run0 já deve ser bom para uma distro para substituir sudo com. Mas vamos ver como isso se desenrola, tenho certeza de que pode haver um ou dois recursos que ainda precisamos adicionar antes que as primeiras distribuições decidam que estão prontas para mudar.

Depois de ler tudo isso, você talvez esteja se perguntando.

Quando o run0 chegará?

Como as coisas estão agora, já temos o primeiro release candidate (RC) para systemd 256, que inclui run0. Dito isso, estamos a apenas mais alguns RCs da versão final, que deve vir equipada com uma experiência de execução estável, entre outras melhorias.

Se você não pode esperar, então você pode verificar systemd v256-rc1 em GitHub.

systemd v256-rc1

Qual você prefere usar, sudo ou run0? Conte para a gente nos comentários abaixo!

Via itsfoss.com. Você pode conferir o post original em inglês:

Systemd Looks to Replace sudo with run0

Última atualização deste artigo: 5 de may de 2024