Como mudar de usuário no Linux?
No Linux, a frase “mudar usuário” pode descrever várias ações diferentes—algumas temporárias e baseadas em sessão, outras permanentes e em todo o sistema. Como o Linux é um sistema operacional multiusuário por design, ele fornece várias maneiras de alternar identidades e permissões dependendo do que você está tentando alcançar: administrar um servidor, executar um aplicativo com direitos limitados, corrigir problemas de acesso a arquivos ou reestruturar contas de usuário.
Mudar “usuário” no Linux pode significar algumas coisas diferentes dependendo do contexto:
- Alternar para outra conta no shell (por exemplo, de john para root)
Isto é usado quando você precisa de uma sessão de terminal interativa como outro usuário—frequentemente para administração do sistema ou para testar como algo se comporta em um ambiente de conta diferente. - Executar um único comando como outro usuário
Ideal quando você só precisa de privilégios elevados ou de uma identidade diferente para uma tarefa (como reiniciar um serviço ou executar um comando de banco de dados) sem mudar completamente sua sessão.
- Alternar para outra conta no shell (por exemplo, de john para root)
- Mudar o usuário de login padrão para um serviço/processo
Serviços (servidores web, bancos de dados, aplicativos) geralmente devem ser executados sob usuários dedicados e não-root por questões de segurança. Mudar o usuário do serviço afeta como o processo é executado e o que ele pode acessar. - Mudar quem possui arquivos e diretórios
A propriedade dos arquivos controla o acesso. Se as permissões estiverem erradas—comum após migrações, restaurações ou implantações—você “muda o usuário” reatribuindo a propriedade para que a conta correta possa ler/gravar arquivos. - Mudar atributos de identidade do usuário (nome de usuário, UID, grupos)
Isto é gerenciamento de conta: renomear um usuário, mudar seu UID ou ajustar a participação em grupos (como conceder acesso sudo). Essas mudanças podem impactar logins, permissões e acesso a serviços.
Este guia cobre todos esses cenários, mostrando quando usar cada abordagem, como fazê-lo com segurança e quais erros evitar—para que você possa mudar usuários com confiança sem quebrar permissões, serviços ou acessos.
Mudar para outro usuário (shell interativo)
su (mudar usuário)
– (ou -l) carrega o ambiente completo de login do usuário alvo: diretório home, PATH, perfil do shell.
Sem -, você mantém grande parte do seu ambiente atual (pode ser confuso).
Mudar para root:
Nota de segurança: Em muitas distros, su requer a senha do usuário alvo (por exemplo, a senha do root), que muitas vezes está desativada.
sudo -i (preferido para shells root/admin)
Fornece um shell de login root (semelhante ao su -), usando seus direitos sudo em vez da senha do root.
Mudar para outro usuário com um shell de login:
Executar um único comando como outro usuário (não interativo)
sudo -u
Executar com um ambiente limpo semelhante ao de login:
Executar um comando como root
Mudar o “usuário efetivo” de um processo em execução (realidade avançada)
O Linux não permite que você “mude o usuário” de um processo já em execução no lugar na maioria dos cenários práticos. Em vez disso, você normalmente:
reinicia o processo sob o usuário correto
ou usa gerenciadores de serviço (systemd) para definir o usuário
Para inspecionar qual usuário executa um processo:
Ou:
Mudar qual usuário um serviço é executado (systemd)
A maior parte do Linux em produção usa systemd. Os serviços devem ser executados como usuários dedicados e não privilegiados.
Verifique a configuração do serviço:
Procure por:
User=Group=
Exemplo de substituição (método seguro):
Adicionar:
Aplicar:
Verificar:
Mudar a propriedade de arquivos (mudando “usuário” para arquivos)
chown (mudança de proprietário)
Mudar proprietário:
Mudar proprietário e grupo:
Recursivo (cuidado):
Preservar symlinks (evitar mudar os alvos dos links):
Dica avançada: Para árvores grandes, visualize primeiro:
Mudar sua identidade de shell atual vs. mudar a conta em si
Confirmar quem você é
Confirmar quem está logado
Ver qual usuário executou o shell atual via sudo
Mudar nome de usuário, UID, grupos (modificação de conta)
Renomear um usuário (nome de usuário)
Também mover/renomear diretório home:
Atualizar nome do grupo também (opcional):
Mudar UID (avançado; afeta a propriedade de arquivos
Após mudar o UID, corrigir a propriedade dos arquivos:
Adicionar usuário a um grupo (por exemplo, sudo)
Verificar:
“Cheat sheet” rápida
Mudar usuário:
Executar comando como outro usuário:
Executar shell root:
Mudar proprietário do arquivo:
Mudar detalhes da conta:
