Quem sou eu?
Antes de gerenciar outros usuários, descubra quem você é no sistema. Os comandos whoami e id são o ponto de partida.
whoami
joao
id
uid=1000(joao) gid=1000(joao) grupos=1000(joao),27(sudo),docker(999)
O comando id mostra o UID, GID primário e todos os grupos secundários do usuário atual.
Os arquivos /etc/passwd e /etc/shadow
Toda conta de usuário é registrada em /etc/passwd. Cada linha segue o formato:
grep joao /etc/passwd
joao:x:1000:1000:Joao Silva:/home/joao:/bin/bash
Os campos são: login:senha:UID:GID:comentário:home:shell. O x no campo senha indica que o hash real está em /etc/shadow, acessível apenas pelo root.
sudo cat /etc/shadow | grep joao
joao:$6$rounds=5000$sal...:19874:0:99999:7:::
Criando usuários com useradd
O comando useradd cria uma nova conta. Sempre use a flag -m para criar o diretório home automaticamente.
sudo useradd -m -s /bin/bash -c "Ana Silva" ana
Flags mais usadas:
-m— cria o diretório home em /home/ana-s /bin/bash— define o shell padrão-c "Ana Silva"— comentário (nome completo)-G sudo,docker— adiciona a grupos secundários-e 2026-12-31— data de expiração da conta
Defina a senha logo em seguida:
sudo passwd ana
Nova senha:
Redigite a nova senha:
passwd: senha atualizada com sucesso
Modificando usuários com usermod
Para alterar propriedades de um usuário existente, use usermod.
# Alterar o shell padrão
sudo usermod -s /bin/zsh ana
# Adicionar a um grupo secundário sem remover dos atuais
sudo usermod -aG docker ana
# Renomear o login
sudo usermod -l ana.silva ana
-aG (append) ao adicionar grupos. Sem o -a, o usermod substitui todos os grupos secundários, o que pode travar o acesso do usuário.Removendo usuários com userdel
# Remove o usuário mas mantém o /home
sudo userdel ana
# Remove o usuário e o diretório home
sudo userdel -r ana
Listando todos os usuários
Não existe um comando dedicado, mas /etc/passwd contém todos. Para listar apenas os logins:
cut -d: -f1 /etc/passwd
Para filtrar apenas usuários "reais" (UID >= 1000):
awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' /etc/passwd
joao
ana
deploy
getent passwd em vez de ler /etc/passwd diretamente. O getent consulta todas as fontes de dados configuradas no NSS.