Fundamentos de Gerenciamento de Usuarios: Primeiros Passos com useradd, usermod e userdel
O Que Voce Pode Fazer com useradd, usermod e userdel?
O gerenciamento de usuarios no Linux se resume a tres comandos: useradd para criar usuarios, usermod para modificar seus atributos e userdel para remove-los. Este guia cobre tanto Ubuntu/Debian quanto RHEL/CentOS com exemplos praticos de comandos.
Referencia Rapida
sudo useradd -m -s /bin/bash alice # Criar usuario sudo passwd alice # Definir senha sudo usermod -aG sudo alice # Conceder privilegios sudo sudo userdel -r alice # Excluir usuario e diretorio home
Pre-requisitos
- SO: Ubuntu 22.04 / Debian ou baseado em RHEL (exemplos usam Ubuntu)
- Execute comandos como um usuario com privilegios sudo
1. Como Criar um Usuario com useradd
O comando useradd adiciona um novo usuario ao sistema. Sem opcoes, ele nao cria um diretorio home -- sempre use a flag -m na pratica.
sudo useradd -m -s /bin/bash alice
Opcoes Comuns:
| Opcao | Descricao |
|---|---|
-m |
Criar diretorio home |
-s /bin/bash |
Definir shell de login |
-d /custom/home |
Especificar caminho personalizado do home |
-G group1,group2 |
Definir grupos suplementares iniciais |
-c "Alice Smith" |
Campo de comentario (tipicamente nome completo) |
-e 2026-12-31 |
Data de expiracao da conta (AAAA-MM-DD) |
-r |
Criar uma conta de sistema (para servicos) |
Definindo uma Senha
useradd sozinho nao define uma senha -- a conta nao pode fazer login ate voce executar passwd:
sudo passwd alice
Verificando o Novo Usuario
id alice
uid=1001(alice) gid=1001(alice) groups=1001(alice)
grep alice /etc/passwd
alice:x:1001:1001::/home/alice:/bin/bash
Os campos do /etc/passwd sao: usuario:senha(x):UID:GID:comentario:home:shell.
No Ubuntu/Debian, adduser tambem esta disponivel
adduser e um wrapper interativo em torno do useradd. Use useradd para scripts e automacao; use adduser para configuracoes manuais pontuais, pois ele solicita uma senha automaticamente.
sudo adduser alice # Configuracao interativa incluindo senha
2. Como Modificar um Usuario com usermod
usermod altera atributos de um usuario existente. A operacao mais frequente e adicionar um usuario a um grupo.
Concedendo Privilegios sudo
sudo usermod -aG sudo alice # Ubuntu/Debian sudo usermod -aG wheel alice # RHEL/CentOS/Fedora
Nunca omita -a (append) de -aG. Usar -G sozinho substitui todas as associacoes de grupo existentes. Remover acidentalmente um usuario do grupo sudo/wheel bloqueia o acesso de administrador.
Outras Alteracoes Comuns
Alterar diretorio home:
sudo usermod -d /new/home -m alice # -m move os arquivos existentes
Alterar shell de login:
sudo usermod -s /bin/zsh alice
Bloquear ou desbloquear uma conta:
sudo usermod -L alice # Bloquear (desabilita login) sudo usermod -U alice # Desbloquear
Verificando Alteracoes
id alice groups alice
uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo)
Alteracoes de grupo entram em vigor no proximo login. Para aplica-las na sessao atual sem fazer logout, execute newgrp sudo.
3. Como Excluir um Usuario com userdel
userdel remove um usuario do sistema. Use -r para tambem excluir o diretorio home e a caixa de correio.
sudo userdel -r alice
Comparacao de comportamento:
| Comando | Usuario removido | Diretorio home | Caixa de correio |
|---|---|---|---|
userdel alice |
Sim | Mantido | Mantido |
userdel -r alice |
Sim | Excluido | Excluido |
userdel -r e irreversivel. Verifique o conteudo do diretorio home e faca backup de arquivos importantes antes de executa-lo.
Excluindo um Usuario Logado
who # Verificar quem esta logado sudo pkill -u alice # Encerrar todos os processos de alice sudo userdel -r alice
4. Fundamentos de Gerenciamento de Grupos
Usuarios e grupos sao fortemente acoplados no Linux. Aqui estao as operacoes essenciais de grupo.
Criar um Grupo
sudo groupadd developers
Adicionar um Usuario a um Grupo
sudo usermod -aG developers alice
Excluir um Grupo
sudo groupdel developers
Verificar Associacao ao Grupo
grep developers /etc/group
developers:x:1002:alice
Campos do /etc/group: nomegrupo:senha:GID:lista-de-membros
5. Politica de Senhas e Expiracao de Conta
Use chage para inspecionar e configurar politicas de envelhecimento de senhas.
sudo chage -l alice
Last password change : May 31, 2026 Password expires : never Account expires : never
Definindo expiracao:
sudo chage -M 90 alice # Expirar senha apos 90 dias sudo chage -E 2026-12-31 alice # Definir data de expiracao da conta
6. Contas de Sistema para Servicos
Daemons de servico (nginx, postgres, etc.) executam sob contas de sistema dedicadas que nao podem fazer login interativamente. Crie-as com -r:
sudo useradd -r -s /usr/sbin/nologin -d /var/lib/myapp myapp
Flags principais para contas de servico:
| Flag | Finalidade |
|---|---|
-r |
Marcar como conta de sistema (UID < 1000) |
-s /usr/sbin/nologin |
Impedir login interativo |
-d /var/lib/myapp |
Definir diretorio de trabalho |
-M |
Pular criacao do diretorio home |
Resumo: Padroes Praticos de Comandos
Fluxo Padrao para um Novo Usuario
sudo useradd -m -s /bin/bash -c "Alice Smith" alice sudo passwd alice sudo usermod -aG sudo alice id alice # Verificar
Comandos de Referencia Rapida
id username # UID/GID e lista de grupos groups username # Associacoes de grupo grep username /etc/passwd # Entrada do passwd grep username /etc/group # Associacoes de grupo sudo cat /etc/shadow # Info de hash de senha