user@lpi:~$ linux-essentials
Início / Tópico 5 · Segurança e permissões de arquivos / 5.1

5.1 — Tipos de usuáriosTópico 5: Segurança e permissões de arquivospeso 2

O que você precisa entender

Todo processo e arquivo no Linux pertence a um usuário. Entender os tipos de usuário e como o sistema identifica cada um é a base de toda a segurança do sistema.

Tipos de usuário

Tipo Característica
root (superusuário) UID 0, acesso irrestrito a tudo no sistema
Usuário comum UID normalmente ≥ 1000, acesso restrito ao que lhe foi dado
Usuário de sistema/serviço UID normalmente entre 1-999, usado por serviços (ex: www-data, mysql), geralmente não tem login interativo

UID e GID

  • UID (User ID): número único que identifica o usuário.
  • GID (Group ID): número único que identifica o grupo principal do usuário.
  • Um usuário pode pertencer a vários grupos (um principal + vários secundários).

Arquivos-chave

Arquivo Conteúdo
/etc/passwd Lista todos os usuários (nome, UID, GID, home, shell) — legível por todos
/etc/shadow Senhas criptografadas dos usuários — legível só por root
/etc/group Lista todos os grupos e seus membros

Formato de uma linha de /etc/passwd

usuario:x:1001:1001:Nome Completo:/home/usuario:/bin/bash

Campos, na ordem: nome de login, x (senha fica no shadow), UID, GID, comentário/nome completo, diretório home, shell padrão.

sudo vs root direto

  • su — troca pra outro usuário (geralmente root), pede a senha do usuário alvo.
  • sudo comando — executa um comando como root, pede a senha do próprio usuário (se ele tiver permissão, definida em /etc/sudoers).
  • Usar sudo é considerado mais seguro/rastreável que logar direto como root.

Termos-chave

  • UID, GID, superusuário, usuário de sistema
  • /etc/passwd, /etc/shadow, /etc/group
  • sudo vs su

Comandos para testar

# 1. Ver qual usuário você é agora
whoami

# 2. Ver detalhes do usuário atual (UID, GID, grupos)
id

# 3. Ver todos os usuários cadastrados no sistema
cat /etc/passwd

# 4. Ver só os usuários "reais" (UID >= 1000 geralmente)
awk -F: '$3 >= 1000 {print $1, $3}' /etc/passwd

# 5. Rodar um comando como root via sudo
sudo whoami   # deve responder "root"

📌 Exercício prático

Rode id e anote seu UID, GID e a lista de grupos aos quais você pertence. Depois abra /etc/passwd com cat e encontre a linha correspondente ao seu usuário — identifique cada um dos 7 campos (nome, x, UID, GID, comentário, home, shell). Por fim, tente rodar cat /etc/shadow sem sudo e observe a mensagem de "Permissão negada" — depois rode com sudo cat /etc/shadow e veja a diferença.