Linux Básico: Como Adicionar e Excluir Usuários de Shell no Ubuntu
Version: 1.0
Author: Daya Mukherjee
Última edição: 4 de junho de 2014
Visão geral
Ubuntu é uma distribuição Linux amplamente usada em desktops e servidores. Gerenciar contas de usuário (criar, modificar e remover) é uma tarefa fundamental para administradores e para qualquer pessoa que gerencie um servidor. Contas com privilégios root devem ser usadas com parcimônia; é prática recomendada criar contas não privilegiadas para operações diárias e conceder sudo apenas quando necessário.
Introdução à adição e remoção de usuários de shell no Ubuntu
Criar e apagar usuários é um dos primeiros passos ao configurar um servidor novo. O usuário root tem autoridade total, mas operar como root rotineiramente aumenta o risco de erros e abuso. Em vez disso, crie um usuário regular, configure sudo quando necessário e atribua contas separadas para cada pessoa ou serviço.
Termo definido: sudo — ferramenta que permite executar comandos com privilégios elevados por um usuário autorizado.
Como adicionar um usuário de shell no Ubuntu
Se você estiver logado como root, execute:
adduser newuser
Se estiver logado como um usuário não-root com privilégios sudo, use:
sudo adduser newuser
O comando adduser é interativo: ele solicitará uma senha e dados opcionais (nome real, telefone, etc.). Você pode pular os campos opcionais pressionando ENTER.
Passos resumidos:
- Passo 1: Defina e confirme uma senha única para o novo usuário.
- Passo 2: Preencha, opcionalmente, os campos adicionais ou pressione ENTER para pular.
- Passo 3: Confirme que as informações estão corretas digitando “y”.
Exemplo de saída esperada: o diretório home /home/newuser será criado automaticamente, e a conta estará pronta para login.
Configurar acesso sudo (opcional)
Para conceder privilégios administrativos ao usuário, adicione-o ao grupo sudo (método recomendado em Ubuntu moderno):
sudo usermod -aG sudo newuser
Alternativa (funciona em algumas instalações):
sudo adduser newuser sudo
Após adicionar ao grupo sudo, teste com:
ssh newuser@hostname
sudo -l
Configurar chaves SSH (recomendado para acesso sem senha)
Como usuário newuser (ou via sudo), crie ~/.ssh e copie a chave pública:
mkdir -p /home/newuser/.ssh
chmod 700 /home/newuser/.ssh
echo "ssh-rsa AAAA..." > /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
Importante: mantenha as permissões corretas para que o SSH aceite a chave.
Verificações pós-criação
- Confirme existência do usuário em /etc/passwd:
getent passwd newuser
- Verifique o diretório home e permissões:
ls -ld /home/newuser
- Teste o login local/SSH e o sudo (se aplicável).
Como excluir um usuário de shell no Ubuntu
Para remover um usuário sem apagar seus arquivos:
deluser newuser
Como usuário com sudo:
sudo deluser newuser
Para remover também o diretório home e o spool de correio:
deluser --remove-home newuser
ou com sudo:
sudo deluser --remove-home newuser
Remover arquivos adicionais e serviços relacionados
Excluir o usuário não remove automaticamente arquivos fora do diretório home (por exemplo, em /var/www, /srv, backups, ou arquivos no sistema de arquivos). Procure por arquivos pertencentes ao UID do usuário:
find / -uid $(id -u newuser) -print
Revogar privilégios sudo
Se o usuário tinha entradas no sudoers, edite com segurança usando visudo:
visudo
Se estiver usando sudo para editar:
sudo visudo
Localize e remova a linha correspondente, por exemplo:
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
Certifique-se de salvar com a sintaxe correta para evitar quebrar a configuração do sudo.
Verificar processos ativos
Antes de remover um usuário, encerre processos do usuário:
pgrep -u newuser
sudo pkill -u newuser
Remover cron e spools de correio
Verifique crontabs e mailspool:
crontab -u newuser -l
sudo rm /var/spool/mail/newuser
Playbook rápido para adicionar/remover usuários
Adicionar usuário (passos mínimos):
- Criar conta: sudo adduser newuser
- Configurar SSH: criar ~/.ssh/authorized_keys e ajustar permissões
- Adicionar sudo se necessário: sudo usermod -aG sudo newuser
- Testar login e sudo: ssh, sudo -l
- Documentar a conta (propósito, dono, TTL se for temporária)
Remover usuário (passos mínimos):
- Informar usuário/serviço e coordenar manutenção
- Encerrar processos e trabalhos agendados
- Fazer backup do /home se necessário
- deluser –remove-home newuser
- Remover entradas em sudoers com sudo visudo
- Procurar arquivos por UID e limpar
- Atualizar inventário/registros
Critérios de aceitação
- O usuário consegue autenticar (local/SSH) com a senha/chave fornecida.
- O diretório home foi criado com permissões corretas.
- Se sudo foi concedido, sudo -l lista privilégios; se não, sudo é recusado.
- Após exclusão, o usuário não realiza login nem possui processos ativos.
Casos em que este método falha e alternativas
- Se o sistema usa LDAP/AD: adduser/deluser não gerenciam contas centralizadas. Alternativa: use ferramentas LDAP/AD apropriadas.
- Se há UID duplicado em backups: restaurar usuário pode exigir ajuste de UID/GID.
- Para ambientes automatizados, prefira gerenciamento por IaC (Ansible/Puppet/Chef) para manter idempotência.
Modelos mentais rápidos
- Princípio do menor privilégio: conceda apenas o mínimo de privilégios necessários.
- Identidade única: uma conta por pessoa/serviço facilita auditoria.
- Automação primeiro: tarefas repetitivas devem estar em scripts/Playbooks.
Lista de verificação por função
Administrador:
- Criar usuário e testar sudo
- Revisar entradas em /etc/sudoers e grupos
- Registrar alteração no inventário
Operações/DevOps:
- Automatizar criação via ferramenta de gerenciamento
- Provisionar chaves SSH e roles
- Verificar logs de autenticação
Desenvolvedor/Usuário final:
- Configurar chaves SSH
- Confirmar acesso a recursos necessários
- Notificar administração ao finalizar uso
Recuperação e rollback
- Se remover usuário por engano, restaure a partir de backup do /home e recrie a conta com o mesmo UID/GID: isso preserva propriedade de arquivos.
- Se não houver backup, procure arquivos por UID e atribua a um novo usuário ou restaure de snapshots do sistema de arquivos.
Segurança e boas práticas
- Não use a conta root para tarefas rotineiras.
- Use sudo e registre comandos com syslog/auditoria.
- Configure SSH para autenticação por chave e desative root login se possível: ver /etc/ssh/sshd_config e ajuste PermitRootLogin no servidor.
Notas de compatibilidade e migração
- Em servidores mais antigos, o grupo para privilégios poderia ser “admin” em vez de “sudo”. Verifique qual grupo confere sudo na sua distribuição.
- Em ambientes corporativos com diretórios centralizados (LDAP/AD), sincronize com a infraestrutura de identidade.
Em poucas palavras
Criar e remover usuários no Ubuntu é direto com adduser e deluser. Para controle de privilégios, prefira adicionar ao grupo sudo e gerenciar entradas em sudoers com visudo. Sempre verifique processos ativos, crontabs e arquivos fora do diretório home antes de excluir.
Resumo final: siga o playbook, documente alterações e automatize onde fizer sentido para reduzir erros humanos. Boa administração!
Materiais semelhantes

Encurtar tweets com Feathr.it: guia rápido

Limpar Gmail e cancelar newsletters com Cleanfox
X2Go + WiKID: autenticação 2FA no Ubuntu Precise

Vazamento Grasshopper: malware da CIA para Windows

Localização padrão no Windows 10
