Irritação Removida: Faz Tudo Como Root e Cria Atalho Para o Sudo

Para quem não está familiarizado, o sudo permite executar um comando como outro utilizador, frequentemente como root. Um cenário típico é quando um utilizador precisa executar um comando como root, mas o administrador do sistema não quer conceder todas as permissões. Com o sudo, o administrador pode permitir ao utilizador executar um único comando e apenas esse comando.

Isto é excelente para a intenção original do sudo: sistemas multiutilizador com privilégios segregados.

Para o entusiasta, frequentemente é um fardo.

Claro que existe uma tendência entre alguns utilizadores a defender que se deve fazer tudo como um utilizador não privilegiado e nunca, em hipótese alguma, fazer login ou realizar tarefas como root. Há alguns anos, surgiu um artigo que criticava severamente quem descarregava um tarball e compilava/instalava como root. Supostamente, deverias extrair e compilar como um utilizador não privilegiado e depois digitar sudo make install. Embora isso possa parecer uma boa prática, não traz grandes benefícios na prática.

Como entusiasta, desativo os logins como root, mas, uma vez que estou na máquina, utilizo su - e faço muito trabalho como root. Em parte porque administro sistemas há vários anos, em parte porque sou cuidadoso e em parte porque é meu próprio material e não é como se fosse causar um grande problema se digitar reboot na janela errada.

Normalmente, nem sequer instalo o sudo, e isso parece ser comum entre entusiastas. Um membro de uma comunidade online comentou:

“Mantenho-o desinstalado em todos os meus sistemas e não sinto falta, exceto pelo aborrecimento de o remover dos comandos copiados e colados.”

De fato. Se estiveres a instalar algo e a seguir um README de GitHub, frequentemente os comandos estarão precedidos por sudo. Se não tiveres o sudo instalado, esses comandos falharão. Foi sugerido:

“Pergunto-me se seria possível substituir o sudo por um alias básico ou um script de shell que simule o comportamento esperado por outros scripts, substituindo-o por outros comandos equivalentes? Ou, se estiveres a executar estes comandos como root de qualquer maneira, um shim ainda mais básico que simplesmente executa o comando tal como está.”

Foi desenvolvida uma solução que pode ajudar:

Bash
alias sudo='/usr/bin/true && '

Com esse alias em vigor, se depois digitares algo como

Bash
sudo make install

ele será expandido para

Bash
/usr/bin/true && make install

Isso significa “primeiro executa o comando true(1). Se for bem-sucedido, executa make install“. Como o true(1) sempre tem sucesso, este alias é essencialmente um NOP (“sem operação” – não faz nada). Isso permite copiar e colar comandos que estão precedidos por sudo sem ter de os editar primeiro.

Outra razão para a criação deste artigo é o desejo de simplificar e agilizar o trabalho dos entusiastas de sistemas que preferem evitar a instalação e configuração de ferramentas adicionais sempre que possível. Em ambientes de desenvolvimento e administração de sistemas, a repetição de comandos que incluem sudo pode ser uma fonte de frustração, especialmente quando se lida com grandes volumes de scripts ou instruções copiados de fontes diversas.

Ao desenvolver uma solução como o alias apresentado, procura-se reduzir a complexidade e o esforço envolvido na manipulação de comandos copiados e colados, facilitando um fluxo de trabalho mais eficiente e menos propenso a erros. Esta abordagem não só poupa tempo, mas também minimiza a necessidade de editar manualmente cada comando, permitindo que os entusiastas se concentrem no que realmente importa: o desenvolvimento e a gestão dos seus sistemas.

Artigos Relacionados