Capítulo 5.1 - Gerenciamento de Usuários
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender o sistema de usuários do Linux
- Criar e remover usuários
- Gerenciar grupos
- Entender os arquivos de configuração (/etc/passwd, /etc/group)
Introdução
Linux é um sistema multiusuário. Cada usuário possui sua própria conta com permissões e recursos específicos.
Tipos de Usuários
Root (Superusuário)
Características:
- UID: 0 (sempre)
- Privilégios: Acesso total ao sistema
- Perigo: Pode modificar/excluir tudo
- Uso: Apenas administração do sistema
Usuários Normais
Características:
- UID: Geralmente ≥ 1000
- Privilégios: Limitados aos seus próprios arquivos
- Home:
/home/username - Uso: Usuários regulares
Usuários de Sistema
Características:
- UID: 1-999 (dependendo da distribuição)
- Privilégios: Limitados, para serviços
- Home: Frequentemente
/var/lib/serviceou/ - Uso: Serviços do sistema (www-data, mysql, etc.)
Arquivos de Configuração
/etc/passwd
Contém as informações dos usuários:
# Formato: username:password:UID:GID:comment:home:shell
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One:/home/user1:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Campos:
- Username: Nome de usuário
- Password: x (em /etc/shadow)
- UID: User ID
- GID: Group ID principal
- Comment: Nome completo, descrição
- Home: Diretório home
- Shell: Shell padrão
/etc/shadow
Contém as senhas criptografadas:
# Formato: username:password:last_change:min:max:warn:expire:disable
user1:$6$salt$hash:19000:0:99999:7:::
Segurança:
- Legível apenas pelo root
- Senhas criptografadas
- Políticas de senha
/etc/group
Contém as informações dos grupos:
# Formato: groupname:password:GID:members
root:x:0:
users:x:100:user1,user2
developers:x:1001:user1,user3
Criar um Usuário
useradd
# Usuário simples
sudo useradd username
# Com opções
sudo useradd -m -s /bin/bash -c "Full Name" username
# -m: Cria diretório home
# -s: Shell
# -c: Comentário/descrição
# Com grupo principal
sudo useradd -g developers username
# Com grupos adicionais
sudo useradd -G sudo,developers username
# UID específico
sudo useradd -u 2000 username
adduser (Ubuntu/Debian)
Interface mais amigável:
sudo adduser username
# Faz perguntas interativas
Modificar um Usuário
usermod
# Alterar o shell
sudo usermod -s /bin/zsh username
# Alterar o home
sudo usermod -d /new/home username
sudo usermod -m -d /new/home username # Move arquivos
# Adicionar a um grupo
sudo usermod -aG sudo username
# Alterar UID
sudo usermod -u 2001 username
# Bloquear conta
sudo usermod -L username
# Desbloquear
sudo usermod -U username
Remover um Usuário
userdel
# Remover usuário
sudo userdel username
# Remover com diretório home
sudo userdel -r username
# Forçar (se houver processos ativos)
sudo userdel -f -r username
Gerenciamento de Grupos
Criar um Grupo
# Criar grupo
sudo groupadd developers
# Com GID específico
sudo groupadd -g 2000 developers
Modificar um Grupo
# Alterar GID
sudo groupmod -g 2001 developers
# Renomear
sudo groupmod -n newname oldname
Remover um Grupo
sudo groupdel developers
Adicionar/Remover de um Grupo
# Adicionar usuário ao grupo
sudo usermod -aG developers username
# Ver os grupos de um usuário
groups username
id username
Comandos Úteis
# Quem sou eu?
whoami
id
# Trocar de usuário
su username
su - username # Com ambiente completo
# Trocar temporariamente
sudo -u username comando
# Ver usuários conectados
who
w
users
# Ver histórico de conexões
last
lastlog
Resumo
Neste capítulo, você aprendeu:
Tipos: Root (UID 0), Usuários (UID ≥1000), Sistema (1-999)
Arquivos: /etc/passwd, /etc/shadow, /etc/group
Criação: useradd, adduser
Modificação: usermod
Remoção: userdel
Grupos: groupadd, groupmod, groupdel
Comandos: whoami, id, su, sudo
Próximos Passos
Capítulo 5.2: Gerenciamento de Grupos
Capítulo 5.3: Permissões Avançadas
Capítulo criado em: Dezembro de 2024