diff --git a/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.md b/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.md index d3cbac0..afb9753 100644 --- a/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.md +++ b/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.md @@ -20,6 +20,7 @@ Padronizar o uso de comandos básicos de terminal para navegação, edição de Este manual é validado para: * **Debian/Ubuntu:** Ubuntu 24.04, Debian 11/12. * **RHEL Family:** AlmaLinux, RockyLinux, CentOS. +* **Alpine Linux:** Versão 3.15 ou superior. --- @@ -29,13 +30,15 @@ Este manual é validado para: Use estes comandos para se mover pelos diretórios do servidor. +> ℹ️ **NOTA ALPINE:** No Alpine, o shell padrão é o `ash`, que é muito leve e compatível com a maioria dos comandos `bash`. + | Comando | Descrição | Exemplo | | :--- | :--- | :--- | | **`pwd`** | Mostra onde você está (caminho atual). | `pwd` | | **`ls`** | Lista arquivos na pasta. | `ls -lah` (Lista detalhada e oculta) | | **`cd`** | Muda de diretório. | `cd /var/log` | | **`cd ..`** | Volta um nível (pasta anterior). | `cd ..` | -| **`cd ~`** | Vai para a pasta pessoal do usuário no `/home`. | `cd ~` | +| **`cd ~`** | Vai para a pasta pessoal do usuário no `/home` (ou `/root`). | `cd ~` | > 🚀 **DICA:** Use a tecla `TAB` para autocompletar nomes de pastas e arquivos. @@ -49,10 +52,13 @@ Como ler logs, configs e editar textos. * **`head [arquivo]`**: Mostra as primeiras 10 linhas. * **`tail [arquivo]`**: Mostra as últimas 10 linhas. * *Ex:* `tail -f /var/log/syslog` (Acompanha o log em tempo real). + * *Alpine:* `tail -f /var/log/messages` (Log padrão do Alpine). **Editores de Texto:** Existem basicamente três editores comuns. Escolha o que preferir. +> ⚠️ **ALPINE:** O `nano` não vem instalado por padrão. Use `vi` ou instale com `apk add nano`. + 1. **Nano (Mais fácil):** * **Abrir:** `nano arquivo.txt` * **Salvar:** `Ctrl + O`, depois `Enter`. diff --git a/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.pdf b/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.pdf index 877905c..b99757f 100644 Binary files a/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.pdf and b/documentacao linux/Nivel_1/[Nível 1] Comandos Essenciais de Diagnóstico.pdf differ diff --git a/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.md b/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.md index 8f1aa58..55016ec 100644 --- a/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.md +++ b/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.md @@ -70,12 +70,29 @@ Recomendado usar `nmcli` (Linha de Comando do Network Manager). ``` 3. Reiniciar interface: `sudo nmcli con up "ens192"` +### Alpine Linux (/etc/network/interfaces) +O Alpine usa o sistema clássico `ifupdown`. + +1. Edite `/etc/network/interfaces`: + ```bash + auto eth0 + iface eth0 inet static + address 192.168.1.10 + netmask 255.255.255.0 + gateway 192.168.1.1 + ``` +2. Configure o DNS em `/etc/resolv.conf`: + ``` + nameserver 8.8.8.8 + ``` +3. Reinicie a rede: `rc-service networking restart` + --- ## 5. CONFIGURAÇÃO DE FIREWALL -### Ubuntu / Debian (UFW - Uncomplicated Firewall) -Mais simples e recomendado para a maioria dos casos. +### Ubuntu / Debian / Alpine (UFW - Uncomplicated Firewall) +Mais simples e recomendado. No Alpine, instale com `apk add ufw`. 1. **Status:** `sudo ufw status` 2. **Habilitar:** `sudo ufw enable` (CUIDADO: Libere o SSH antes!). @@ -84,6 +101,8 @@ Mais simples e recomendado para a maioria dos casos. 5. **Bloquear tudo (Default):** O UFW já bloqueia entrada por padrão. 6. **Remover regra:** `sudo ufw delete allow 80/tcp` +> ℹ️ **NOTA ALPINE:** Se preferir o firewall nativo, investigue o `awall` (Alpine Wall), mas o UFW funciona perfeitamente para regras básicas. + ### RHEL / CentOS (Firewalld) Gerenciador dinâmico padrão do mundo Red Hat. diff --git a/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.pdf b/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.pdf index a251acb..8239891 100644 Binary files a/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.pdf and b/documentacao linux/Nivel_2/[Nível 2] Configuração de Rede e Firewall.pdf differ diff --git a/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.md b/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.md index 259da57..a15d90d 100644 --- a/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.md +++ b/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.md @@ -46,6 +46,18 @@ Gerenciador: **DNF** (`dnf`) ou YUM (Legado). | **Buscar Pacote** | `dnf search [termo]` | | **Info do Pacote** | `dnf info [pacote]` | +### Família Alpine (Alpine Linux) +Gerenciador: **APK** (`apk`). Extremamente rápido. + +| Ação | Comando | +| :--- | :--- | +| **Atualizar lista** | `sudo apk update` | +| **Atualizar tudo** | `sudo apk upgrade` | +| **Instalar App** | `sudo apk add [pacote]` | +| **Instalar sem Cache** | `sudo apk add --no-cache [pacote]` (Comum em Docker) | +| **Remover App** | `sudo apk del [pacote]` | +| **Buscar Pacote** | `apk search [termo]` | + --- ## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING) @@ -63,6 +75,11 @@ Muitas vezes o repositório padrão é lento ou está fora do ar. *(No Ubuntu atual, pode ser `/etc/apt/sources.list.d/ubuntu.sources`)*. 3. Substitua URLs lentas (ex: `br.archive.ubuntu.com`) por outras oficiais (ex: `mirror.unesp.br`). +**No Alpine Linux:** +1. Edite `/etc/apk/repositories`. +2. Descomente ou adicione o mirror desejado (ex: `http://dl-cdn.alpinelinux.org/alpine/v3.18/main`). +3. Rode `apk update`. + **No RHEL/CentOS:** 1. Os mirrors ficam em `/etc/yum.repos.d/`. 2. Geralmente o sistema escolhe o melhor automaticamente (`fastestmirror`). Tente limpar o cache: diff --git a/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.pdf b/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.pdf index 98778ab..ac663f7 100644 Binary files a/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.pdf and b/documentacao linux/Nivel_2/[Nível 2] Gerenciamento de Pacotes e Updates.pdf differ diff --git a/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.md b/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.md index ef8d34b..1a25939 100644 --- a/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.md +++ b/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.md @@ -21,7 +21,7 @@ Padronizar a criação de usuários, gerenciamento de senhas, criação de grupo ### Criar Usuário -**Método Recomendado (Interativo - Ubuntu/Debian):** +**Método Recomendado (Interativo - Ubuntu/Debian/Alpine):** ```bash sudo adduser nome_usuario ``` diff --git a/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.pdf b/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.pdf index fdad30c..64b9baa 100644 Binary files a/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.pdf and b/documentacao linux/Nivel_2/[Nível 2] Gestão de Usuários e Permissões.pdf differ diff --git a/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).md b/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).md index 2e606c5..1ccb1dc 100644 --- a/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).md +++ b/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).md @@ -101,7 +101,21 @@ Para enviar logs para devs ou anexar em chamados. journalctl -u servico -o json-pretty ``` -## 8. VALIDAÇÃO FINAL -- [ ] O comando `journalctl` retorna dados? +## 8. ALPINE LINUX (SEM SYSTEMD) + +> ⚠️ **ATENÇÃO:** O Alpine Linux usa **OpenRC** e não Systemd. Portanto, o comando `journalctl` **NÃO EXISTE**. + +No Alpine, os logs são arquivos de texto tradicionais (Syslog): + +* **Log Principal:** `/var/log/messages` (Tudo vai para cá). +* **Kernel:** `/var/log/dmesg`. +* **Auth (SSH):** `/var/log/messages` (ou `/var/log/auth.log` se configurado). + +**Comandos Substitutos:** +* Ver em tempo real: `tail -f /var/log/messages` +* Buscar erro: `grep "error" /var/log/messages` + +## 9. VALIDAÇÃO FINAL +- [ ] O comando `journalctl` retorna dados (em distros Systemd)? - [ ] Os logs persistem após um reboot? - [ ] A rotação de logs (Vacuum) está funcionando para não lotar o disco? diff --git a/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).pdf b/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).pdf index 9cd25f2..87497ea 100644 Binary files a/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).pdf and b/documentacao linux/Nivel_3/[Nível 3] Análise de Logs (Journalctl).pdf differ diff --git a/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.md b/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.md index 7a7b15b..3123413 100644 --- a/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.md +++ b/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.md @@ -35,6 +35,7 @@ O vetor de ataque mais comum é força bruta na porta 22. 4. Reinicie o serviço: * Debian/Ubuntu: `sudo systemctl restart ssh` * RHEL/CentOS: `sudo systemctl restart sshd` + * Alpine: `sudo rc-service sshd restart` > ⚠️ **IMPORTANTE:** Não feche a sessão atual sem abrir uma nova para testar se a chave funcionou. Se falhar, você perderá acesso remoto. @@ -45,6 +46,7 @@ O Fail2Ban monitora logs e bane IPs que erram a senha repetidamente. **Instalação:** * Debian/Ubuntu: `sudo apt install fail2ban` * RHEL/CentOS: `sudo dnf install epel-release && sudo dnf install fail2ban` +* Alpine: `sudo apk add fail2ban` **Configuração Básica:** 1. Copie o arquivo padrão de config: diff --git a/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.pdf b/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.pdf index d51510b..763b63d 100644 Binary files a/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.pdf and b/documentacao linux/Nivel_3/[Nível 3] Hardening de Servidor.pdf differ diff --git a/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.md b/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.md index 3c71603..a63304f 100644 --- a/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.md +++ b/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.md @@ -49,6 +49,10 @@ else log_msg "Erro no Backup" fi ``` +> ⚠️ **NOTA ALPINE:** O Alpine não traz o `bash` por padrão, apenas o `ash` (BusyBox). +> * **Opção A:** Mude a primeira linha para `#!/bin/sh` (Compatível). +> * **Opção B:** Instale o Bash: `apk add bash`. + > ⚡ **DICA:** Execute com `bash -x script.sh` para debugar linha a linha. ## 5. AGENDAMENTO (CRON) diff --git a/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.pdf b/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.pdf index a7d0da1..a00421b 100644 Binary files a/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.pdf and b/documentacao linux/Nivel_3/[Nível 3] Scripting e Automação Avançada.pdf differ diff --git a/documentacao linux/README.pdf b/documentacao linux/README.pdf index 73f2a19..6e36015 100644 Binary files a/documentacao linux/README.pdf and b/documentacao linux/README.pdf differ diff --git a/documentacao linux/alpine/README.md b/documentacao linux/alpine/README.md deleted file mode 100644 index a117518..0000000 --- a/documentacao linux/alpine/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Documentação Alpine - -Local para manuais e procedimentos referentes ao **Alpine**. diff --git a/documentacao linux/alpine/README.pdf b/documentacao linux/alpine/README.pdf deleted file mode 100644 index 5a34832..0000000 Binary files a/documentacao linux/alpine/README.pdf and /dev/null differ diff --git a/documentacao linux/debian/README.md b/documentacao linux/debian/README.md deleted file mode 100644 index 12194a0..0000000 --- a/documentacao linux/debian/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Documentação Debian - -Local para manuais e procedimentos referentes ao **Debian**. diff --git a/documentacao linux/debian/README.pdf b/documentacao linux/debian/README.pdf deleted file mode 100644 index 6853678..0000000 Binary files a/documentacao linux/debian/README.pdf and /dev/null differ diff --git a/documentacao linux/ubuntu/README.md b/documentacao linux/ubuntu/README.md deleted file mode 100644 index e5cf7fd..0000000 --- a/documentacao linux/ubuntu/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Documentação Ubuntu - -Local para manuais e procedimentos referentes ao **Ubuntu**. diff --git a/documentacao linux/ubuntu/README.pdf b/documentacao linux/ubuntu/README.pdf deleted file mode 100644 index 6225499..0000000 Binary files a/documentacao linux/ubuntu/README.pdf and /dev/null differ