O Linux, como outros sistemas operacionais baseados em UNIX, é conhecido por seu modelo de segurança robusto, que inclui um sistema de permissões e a capacidade de mudar de usuário ou executar comandos como outro usuário. Essas operações frequentemente envolvem o uso de comandos como su, sudo, entre outros. Este artigo mergulha em quatro comandos e variantes importantes – su, su -, sudo -i e sudo -s – esclarecendo seus propósitos e diferenças.
1. su: Mudar Usuário
O comando su é a abreviação de “switch user”, ou “mudar usuário” em tradução livre. Ele permite que você mude para outro usuário sem ter que fazer logoff e logon novamente.
su nome_do_usuárioAo usar su, você será solicitado a inserir a senha do usuário para o qual está tentando mudar.
2. su -: Mudar Usuário e Carregar o Ambiente
Enquanto su muda para outro usuário, ele mantém as variáveis do ambiente do usuário atual. No entanto, ao adicionar um - ao comando, ele também carrega o ambiente do usuário para o qual você está mudando.
su - nome_do_usuárioIsso é especialmente útil se você quiser operar como outro usuário e precisa de seu ambiente configurado corretamente, como variáveis de PATH, por exemplo.
3. sudo -i: Executar Shell com Ambiente de Root
sudo é um programa que permite aos usuários executar programas com os privilégios de segurança de outro usuário (geralmente o root). A opção -i (simulando um login inicial) abre um novo shell com o ambiente do usuário root.
sudo -iApós a execução, você estará operando em um shell com as permissões e ambiente do usuário root. É uma maneira segura de operar com privilégios elevados sem estar logado como root.
4. sudo -s: Executar Shell com Privilégios Elevados
Semelhante ao sudo -i, o sudo -s também abre um novo shell. No entanto, ele não carrega o ambiente do usuário root, mas mantém o ambiente do usuário atual.
sudo -sIsso é útil quando você precisa de privilégios elevados, mas deseja continuar usando o ambiente do usuário atual.
Conclusão
A compreensão dos diferentes modos de mudar de usuário e executar comandos com privilégios elevados é fundamental para a administração eficaz e segura de sistemas Linux. Cada comando tem seu propósito e contexto de uso. Sempre use esses comandos com cautela e evite operar como root a menos que seja absolutamente necessário, para manter seu sistema seguro e estável.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.



