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ário
Ao 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ário
Isso é 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 -i
Apó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 -s
Isso é ú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.