Fundamentos de Gerenciamento de Usuarios: Primeiros Passos com useradd, usermod e userdel

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

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

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

Proximas Leituras