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:

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
Dica: Sempre use -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
Dica: Em sistemas com LDAP ou SSSD, use getent passwd em vez de ler /etc/passwd diretamente. O getent consulta todas as fontes de dados configuradas no NSS.