Skip to content

Commit ac7adad

Browse files
committed
cap05-05-fundamentos-do-gerenciamento-dos-usuarios-do-linux
1 parent 259d673 commit ac7adad

1 file changed

Lines changed: 123 additions & 0 deletions

File tree

docs/users.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Usuários, Grupos e Permissões no Linux
2+
3+
---
4+
5+
## Tabela de Usuários e Grupos no Linux
6+
7+
| Tipo | Nome Exemplo | UID | GID | Grupo Primário | Pode Logar? | Descrição |
8+
| ------------------- | --------------------------- | ----- | ----- | --------------------- | ----------- | -------------------------------------------------------------------------- |
9+
| Superusuário | `root` | 0 | 0 | root | Sim | Tem acesso total ao sistema. Ignora permissões. |
10+
| Usuários de sistema | `daemon`, `bin`, `www-data` | 1–999 | 1–999 | próprio nome ou comum | Não | Usados por processos ou serviços internos (ex: web server, banco de dados) |
11+
| Usuários comuns | `luiz`, `maria` | 1000+ | 1000+ | nome do usuário | Sim | Criados para pessoas. Podem logar e rodar processos no sistema. |
12+
| Usuário `nobody` | `nobody` | 65534 | 65534 | nogroup | Não | Restrito, usado como fallback ou isolamento extremo. |
13+
14+
---
15+
16+
## UIDs e GIDs
17+
18+
- **UID (User ID):** Identificador único de um usuário.
19+
- `0` é o **root** (superusuário)
20+
- `1–999`: usuários de **serviço ou sistema**
21+
- `1000+`: **usuários normais** (em sistemas Debian/Ubuntu)
22+
- **GID (Group ID):** Identificador de grupos.
23+
- Funciona igual ao UID, mas para grupos
24+
25+
---
26+
27+
## Como funcionam os grupos no Linux?
28+
29+
- Um usuário **sempre pertence a um grupo primário**, criado junto com o usuário e geralmente com o mesmo nome.
30+
- Pode pertencer a **grupos adicionais** para ter acesso compartilhado a arquivos, dispositivos e permissões específicas.
31+
- As permissões de arquivos consideram:
32+
1. Se o usuário é o **dono** do arquivo (usuário)
33+
2. Se o usuário pertence ao **grupo** do arquivo
34+
3. Caso contrário, aplicam-se as permissões para **outros**
35+
36+
Exemplo:
37+
38+
- Usuário `luiz` tem grupo primário `luiz`
39+
- Pode fazer parte do grupo extra `devs` para ter acesso a projetos compartilhados
40+
41+
---
42+
43+
## Permissões de Arquivos no Linux
44+
45+
### Significado das permissões `r`, `w`, `x`
46+
47+
| Letra | Nome | Em arquivos | Em diretórios |
48+
| ----- | ------- | ---------------------------------------- | ---------------------------------------------------- |
49+
| `r` | read | Pode ler o conteúdo do arquivo | Pode listar os arquivos do diretório |
50+
| `w` | write | Pode modificar/excluir o arquivo | Pode criar, renomear e excluir arquivos no diretório |
51+
| `x` | execute | Pode executar o arquivo (script/binário) | Pode entrar no diretório e acessar seus arquivos |
52+
53+
---
54+
55+
### Estrutura das permissões
56+
57+
Exemplo de saída de `ls -l`:
58+
59+
```bash
60+
-rwxr-x---
61+
```
62+
63+
Interpretação:
64+
65+
| Posição | Significado |
66+
| ------- | -------------------------------------------- |
67+
| `-` | Tipo de arquivo (`-` arquivo, `d` diretório) |
68+
| `rwx` | Permissões do dono do arquivo |
69+
| `r-x` | Permissões do grupo do arquivo |
70+
| `---` | Permissões para os outros usuários |
71+
72+
Significado:
73+
74+
- Dono tem permissão para ler, escrever e executar
75+
- Grupo pode ler e executar, mas não escrever
76+
- Outros não têm permissão
77+
78+
---
79+
80+
### Como o Linux decide qual permissão usar?
81+
82+
1. Se o usuário for o **dono**, usa o bloco do **dono**.
83+
2. Senão, se o usuário estiver no **grupo** do arquivo, usa o bloco do grupo.
84+
3. Senão, usa o bloco de **outros**.
85+
86+
---
87+
88+
### Representação numérica (modo octal)
89+
90+
Cada permissão tem um valor numérico:
91+
92+
- `r` = 4
93+
- `w` = 2
94+
- `x` = 1
95+
96+
Exemplo:
97+
98+
```bash
99+
chmod 750 script.sh
100+
```
101+
102+
Significa:
103+
104+
- 7 = 4+2+1 → dono: ler, escrever e executar
105+
- 5 = 4+0+1 → grupo: ler e executar
106+
- 0 = 0+0+0 → outros: sem permissão
107+
108+
---
109+
110+
## Comandos úteis
111+
112+
| Ação | Comando |
113+
| -------------------------- | ----------------------------- |
114+
| Criar usuário | `useradd -m luiz` |
115+
| Criar grupo | `groupadd devs` |
116+
| Adicionar usuário a grupo | `usermod -aG devs luiz` |
117+
| Ver grupos do usuário | `groups luiz` |
118+
| Ver UID, GID e grupos | `id luiz` |
119+
| Ver permissões de arquivos | `ls -l` |
120+
| Mudar dono do arquivo | `chown luiz:devs arquivo.txt` |
121+
| Mudar permissões | `chmod 750 script.sh` |
122+
123+
---

0 commit comments

Comments
 (0)