Voltar para Home

Domine o Linux

Terminal Poderoso

Auditoria e Monitoramento

📋 Conteúdo Completo

Módulos e Aulas

Do zero ao avançado: administração de sistemas Debian, terminal, usuários, pacotes, serviços, redes e um projeto prático completo de auditoria e monitoramento de TI.. Clique nas aulas para ver os conteúdos.


01

Introdução ao Linux

Conceitos de sistema operacional, kernel, distribuições, Debian, software livre e ecossistema Linux.

4 aulas
O que é Linux e Sistema Operacional

Conceito de SO, kernel, distribuições e a importância do Linux em 2026.

20min
Resumo: O Linux é um sistema operacional amplamente utilizado em servidores, desktops, dispositivos embarcados, containers e nuvem. O kernel é o núcleo que se comunica diretamente com o hardware. Distribuições como Debian, Ubuntu e Fedora empacotam o kernel com utilitários e interfaces.
# Verificar versão do sistema cat /etc/debian_version # Ver informações do kernel uname -r uname -a # Identificar detalhes do sistema hostnamectl
Debian e suas Características

Por que Debian, vantagens para iniciantes, ambientes gráficos (GNOME, KDE, XFCE).

15min
Resumo: O Debian é conhecido por robustez, previsibilidade, repositórios extensos e foco em software livre. Serve como base para Ubuntu e outras distros. Ambientes gráficos: GNOME (moderno), KDE Plasma (personalizável), XFCE (leve).
# Ver ambiente gráfico atual echo $XDG_CURRENT_DESKTOP # Listar sessões disponíveis ls /usr/share/xsessions/ # Verificar versão do GNOME/KDE gnome-shell --version plasmashell --version
Software Livre e Código Aberto

Liberdades fundamentais, transparência, auditabilidade e independência tecnológica.

10min
Resumo: Software livre baseia-se em 4 liberdades: executar, estudar, modificar e redistribuir. Não significa apenas 'gratuito', mas transparência e independência. Fundamental para reduzir custos, evitar lock-in e auditar segurança.
# Ver licenças de pacotes instalados dpkg -l | head -20 # Ver licença de um pacote específico cat /usr/share/doc/bash/copyright # Buscar pacotes livres apt search --names-only '.*'
Ecossistema e Camadas do Linux

Hardware, Kernel, Shell, Utilitários, Interface Gráfica. Terminal vs GUI.

15min
Resumo: O Linux funciona em camadas: Hardware → Kernel → Shell (Bash/Zsh) → Utilitários → Interface Gráfica. O terminal é essencial para administração, automação e diagnóstico.
# Ver shell atual echo $SHELL # Listar shells disponíveis cat /etc/shells # Ver variáveis de ambiente env | head -20 # Ver path dos executáveis echo $PATH
02

Sistema de Arquivos e Navegação

Estrutura de diretórios, navegação, manipulação de arquivos, permissões e links.

4 aulas
Estrutura de Diretórios Linux

Hierarquia FHS: /etc, /var, /home, /usr, /bin, /sbin, /tmp, /opt.

15min
Resumo: O Linux organiza arquivos em uma hierarquia padrão (FHS). /etc contém configurações, /var logs e dados variáveis, /home usuários, /usr programas, /bin comandos essenciais.
# Listar diretório raiz ls -la / # Ver espaço em disco df -h # Ver tamanho de diretórios du -sh /etc /var /home # Ver árvore de diretórios (se instalado) tree -L 2 /
Navegação e Manipulação de Arquivos

cd, ls, pwd, mkdir, touch, cp, mv, rm, cat, less, head, tail.

20min
Resumo: Comandos essenciais para navegar e manipular arquivos e diretórios no terminal Linux.
# Navegação básica pwd # Diretório atual cd /etc # Ir para /etc cd ~ # Ir para home cd .. # Subir um nível # Listar arquivos ls -la # Lista detalhada ls -lh # Tamanhos legíveis # Criar e remover mkdir -p projeto/docs # Criar diretórios aninhados touch arquivo.txt # Criar arquivo vazio cp arquivo.txt backup.txt mv arquivo.txt novo_nome.txt rm arquivo.txt # Remover arquivo rm -r pasta/ # Remover diretório # Visualizar conteúdo cat arquivo.txt less arquivo.txt # Paginação head -n 10 arquivo.txt tail -n 20 arquivo.txt tail -f /var/log/syslog # Acompanhar em tempo real
Permissões e Propriedade

chmod, chown, chgrp, usuários, grupos, rwx, sticky bit, SUID, SGID.

20min
Resumo: Permissões no Linux: leitura (r), escrita (w), execução (x). Propriedade: usuário e grupo. chmod altera permissões, chown altera proprietário.
# Ver permissões ls -la arquivo.txt # Alterar permissões (modo numérico) chmod 755 script.sh # rwxr-xr-x chmod 644 arquivo.txt # rw-r--r-- chmod 600 senha.key # rw------- # Alterar permissões (modo simbólico) chmod +x script.sh chmod u+w arquivo.txt chmod g-r arquivo.txt # Alterar proprietário chown usuario:grupo arquivo.txt chown -R usuario:pasta/ # Recursivo # Permissões especiais chmod 4755 binario # SUID chmod 2755 pasta/ # SGID chmod 1777 /tmp # Sticky bit
Links Simbólicos e Hard Links

ln -s, ln, diferença entre soft link e hard link, inodes.

10min
Resumo: Links simbólicos (soft links) apontam para um caminho. Hard links apontam para o mesmo inode. Soft links podem quebrar se o alvo for removido.
# Criar link simbólico ln -s /caminho/real /caminho/do/link # Exemplo prático ln -s /usr/bin/python3 /usr/local/bin/python # Ver inodes ls -li arquivo.txt # Criar hard link ln arquivo.txt hardlink.txt # Verificar se é link file link_simbolico readlink -f link_simbolico
03

Gerenciamento de Usuários e Grupos

Criação, modificação e exclusão de usuários e grupos, sudo, su, passwd.

3 aulas
Criando e Gerenciando Usuários

useradd, usermod, userdel, passwd, /etc/passwd, /etc/shadow.

20min
Resumo: Usuários no Linux são gerenciados via arquivos /etc/passwd e /etc/shadow. Comandos useradd, usermod e userdel permitem criar, modificar e remover contas.
# Listar usuários cat /etc/passwd # Criar usuário sudo useradd -m -s /bin/bash novo_usuario # Definir senha sudo passwd novo_usuario # Modificar usuário (adicionar a grupo) sudo usermod -aG sudo novo_usuario # Alterar shell padrão sudo usermod -s /bin/zsh usuario # Bloquear/desbloquear conta sudo usermod -L usuario # Bloquear sudo usermod -U usuario # Desbloquear # Remover usuário sudo userdel -r usuario # -r remove home também
Grupos e Controle de Acesso

groupadd, groupdel, gpasswd, /etc/group, grupos primários e secundários.

15min
Resumo: Grupos organizam usuários para controle de acesso. Cada usuário tem um grupo primário e pode pertencer a múltiplos grupos secundários.
# Listar grupos cat /etc/group # Ver grupos de um usuário id usuario groups usuario # Criar grupo sudo groupadd desenvolvedores # Adicionar usuário ao grupo sudo usermod -aG desenvolvedores usuario # Remover usuário do grupo sudo gpasswd -d usuario grupo # Alterar grupo proprietário sudo chgrp desenvolvedores pasta/ # Ver quem está logado who w
Sudo, Su e Privilégios

sudo, su, /etc/sudoers, visudo, boas práticas de privilégio mínimo.

15min
Resumo: sudo permite executar comandos como outro usuário (geralmente root). su troca de usuário. O princípio do privilégio mínimo é essencial para segurança.
# Executar comando como root sudo comando # Executar shell como root sudo -i sudo su - # Executar como outro usuário sudo -u usuario comando # Editar arquivo de sudoers (SEMPRE com visudo) sudo visudo # Ver histórico de comandos sudo sudo history # Ver permissões sudo do usuário atual sudo -l # Configurar sudo sem senha (cuidado!) # No visudo: # usuario ALL=(ALL) NOPASSWD: ALL
04

Gerenciamento de Pacotes

apt, dpkg, repositórios, sources.list, atualização e instalação de software.

3 aulas
APT: Instalação e Atualização

apt update, apt upgrade, apt install, apt remove, apt search.

20min
Resumo: APT (Advanced Package Tool) é o gerenciador de pacotes do Debian/Ubuntu. Mantém o sistema atualizado e instala software dos repositórios oficiais.
# Atualizar lista de pacotes sudo apt update # Atualizar pacotes instalados sudo apt upgrade -y # Atualização completa (remove obsoletos) sudo apt full-upgrade -y # Instalar pacote sudo apt install nginx -y # Remover pacote sudo apt remove nginx sudo apt purge nginx # Remove configurações também # Limpar cache sudo apt clean sudo apt autoremove -y # Buscar pacote apt search nginx # Ver informações do pacote apt show nginx
DPKG e Pacotes .deb

dpkg -i, dpkg -l, dpkg -r, instalação manual de .deb.

15min
Resumo: dpkg é o gerenciador de pacotes de baixo nível do Debian. Instala arquivos .deb diretamente. apt usa dpkg por baixo dos panos.
# Listar pacotes instalados dpkg -l dpkg -l | grep nginx # Instalar pacote .deb sudo dpkg -i pacote.deb # Corrigir dependências quebradas sudo apt --fix-broken install # Remover pacote dpkg -r pacote dpkg -P pacote # Purge (remove configs) # Ver arquivos de um pacote dpkg -L nginx # Ver qual pacote possui um arquivo dpkg -S /usr/bin/nginx # Reconfigurar pacote sudo dpkg-reconfigure tzdata
Repositórios e Sources.list

/etc/apt/sources.list, adicionando PPAs, chaves GPG, mirrors.

15min
Resumo: Repositórios são servidores que hospedam pacotes. O arquivo /etc/apt/sources.list define de onde o APT baixa pacotes. PPAs são repositórios pessoais do Ubuntu.
# Ver repositórios configurados cat /etc/apt/sources.list ls /etc/apt/sources.list.d/ # Adicionar repositório (exemplo) sudo add-apt-repository ppa:nome/ppa # Adicionar chave GPG curl -fsSL URL | sudo gpg --dearmor -o /usr/share/keyrings/chave.gpg # Adicionar repo manualmente echo "deb [signed-by=/usr/share/keyrings/chave.gpg] URL stable main" | sudo tee /etc/apt/sources.list.d/repo.list # Atualizar após adicionar repo sudo apt update # Verificar mirror mais rápido sudo apt install netselect-apt sudo netselect-apt stable
05

Processos e Serviços

systemctl, journalctl, ps, top, htop, kill, gerenciamento de serviços.

3 aulas
Systemctl: Gerenciamento de Serviços

start, stop, restart, enable, disable, status, list-units.

20min
Resumo: systemctl é o comando padrão para gerenciar serviços no systemd. Permite iniciar, parar, reiniciar e habilitar serviços na inicialização.
# Ver status de um serviço sudo systemctl status nginx # Iniciar/parar/reiniciar sudo systemctl start nginx sudo systemctl stop nginx sudo systemctl restart nginx sudo systemctl reload nginx # Habilitar na inicialização sudo systemctl enable nginx sudo systemctl disable nginx # Listar todos os serviços systemctl list-units --type=service systemctl list-unit-files --type=service # Ver serviços falhando systemctl --failed # Recarregar configuração do systemd sudo systemctl daemon-reload
Journalctl: Logs do Sistema

Visualização de logs, filtros por tempo, serviço, prioridade.

15min
Resumo: journalctl é a ferramenta padrão para visualizar logs do systemd. Centraliza logs de todos os serviços e do kernel.
# Ver todos os logs journalctl # Logs em tempo real journalctl -f # Logs de um serviço específico journalctl -u nginx journalctl -u ssh -f # Logs desde a última inicialização journalctl -b # Logs de um período journalctl --since "2024-01-01" --until "2024-01-31" journalctl --since today journalctl --since "1 hour ago" # Filtrar por prioridade (0=emerg, 7=debug) journalctl -p err journalctl -p warning..err # Limpar logs antigos sudo journalctl --vacuum-time=7d sudo journalctl --vacuum-size=500M
Processos: ps, top, htop, kill

Visualizar, monitorar e gerenciar processos em execução.

15min
Resumo: Processos são instâncias de programas em execução. ps lista processos, top/htop monitoram em tempo real, kill envia sinais para terminá-los.
# Listar processos ps aux ps -ef # Buscar processo específico ps aux | grep nginx pgrep nginx # Monitor em tempo real top htop # Mais amigável (sudo apt install htop) # Ver árvore de processos pstree pstree -p # Matar processo kill PID # SIGTERM (gracioso) kill -9 PID # SIGKILL (forçado) killall nginx # Matar por nome # Prioridade de processos nice -n 10 comando # Menor prioridade renice -n 5 -p PID # Alterar prioridade # Ver uso de recursos por processo pidstat 1 iotop # I/O em tempo real
06

Redes e Conectividade

ip, ss, netstat, ping, traceroute, DNS, configuração de rede.

3 aulas
Comando ip: Configuração de Rede

ip addr, ip route, ip link, substituto moderno do ifconfig.

15min
Resumo: O comando ip substituiu ifconfig e route. É a ferramenta moderna para configuração e diagnóstico de rede no Linux.
# Ver interfaces e IPs ip addr show ip a # Ver rotas ip route show ip r # Ver links (interfaces) ip link show # Ativar/desativar interface sudo ip link set eth0 up sudo ip link set eth0 down # Atribuir IP temporário sudo ip addr add 192.168.1.100/24 dev eth0 # Adicionar rota sudo ip route add 10.0.0.0/8 via 192.168.1.1 # Ver estatísticas ip -s link show eth0
SS e Netstat: Portas e Conexões

Ver portas abertas, conexões ativas, sockets.

10min
Resumo: ss (socket statistics) é o substituto moderno do netstat. Mostra conexões de rede, portas abertas e sockets.
# Ver todas as conexões ss -a # Ver portas abertas (listening) ss -tulpn ss -lntp # Ver conexões estabelecidas ss -tunap # Estatísticas ss -s # Filtrar por porta ss -tulpn | grep :80 ss -tulpn | grep :443 # Netstat (legado, mas ainda útil) netstat -tulpn netstat -an
DNS, Ping e Diagnóstico de Rede

ping, traceroute, dig, nslookup, resolv.conf.

15min
Resumo: Ferramentas essenciais para diagnóstico de conectividade e resolução de nomes (DNS).
# Testar conectividade ping google.com ping -c 4 8.8.8.8 # Rastrear rota traceroute google.com tracepath google.com # Consulta DNS dig google.com dig google.com MX dig @8.8.8.8 google.com # nslookup (mais simples) nslookup google.com # Ver configuração DNS cat /etc/resolv.conf systemd-resolve --status # Limpar cache DNS sudo systemd-resolve --flush-caches # Testar porta nc -zv google.com 443 telnet google.com 80
07

Shell Scripting e Automação

Bash, variáveis, condicionais, loops, funções, cron, automação de tarefas.

3 aulas
Bash: Variáveis e Estruturas

Variáveis, leitura de input, condicionais if/else, case.

20min
Resumo: Shell scripts automatizam tarefas repetitivas. Bash é o shell padrão do Debian. Variáveis, condicionais e loops são a base da programação em shell.
#!/bin/bash # Variáveis NOME="Dalmo" IDADE=30 echo "Olá, $NOME! Você tem $IDADE anos." # Leitura de input read -p "Digite seu nome: " USUARIO echo "Bem-vindo, $USUARIO!" # Condicional if if [ -f "/etc/debian_version" ]; then echo "Sistema Debian detectado" elif [ -f "/etc/redhat-release" ]; then echo "Sistema Red Hat detectado" else echo "Sistema desconhecido" fi # Case read -p "Escolha (1-3): " OPCAO case $OPCAO in 1) echo "Opção 1 selecionada" ;; 2) echo "Opção 2 selecionada" ;; 3) echo "Opção 3 selecionada" ;; *) echo "Opção inválida" ;; esac
Loops: for, while, until

Iteração sobre arquivos, listas, execução condicional.

15min
Resumo: Loops permitem repetir comandos. for itera sobre listas, while executa enquanto condição for verdadeira, until executa até condição ser verdadeira.
#!/bin/bash # For: iterar sobre lista for FRUTA in maçã banana laranja; do echo "Fruta: $FRUTA" done # For: iterar sobre arquivos for ARQ in /etc/*.conf; do echo "Processando: $ARQ" done # For: sequência numérica for i in {1..10}; do echo "Número: $i" done # While CONTADOR=1 while [ $CONTADOR -le 5 ]; do echo "Contagem: $CONTADOR" ((CONTADOR++)) done # While: ler arquivo linha por linha while IFS= read -r LINHA; do echo "Linha: $LINHA" done < /etc/passwd # Until (executa ATÉ condição ser verdadeira) NUM=1 until [ $NUM -gt 5 ]; do echo "Número: $NUM" ((NUM++)) done
Cron: Agendamento de Tarefas

crontab, agendamento de scripts, tarefas periódicas.

15min
Resumo: Cron permite agendar execução automática de comandos e scripts. Crontab é o arquivo de configuração do usuário.
# Editar crontab do usuário crontab -e # Listar crontab crontab -l # Remover crontab crontab -r # Formato do crontab: # minuto hora dia_do_mês mês dia_da_semana comando # * * * * * comando # Exemplos: # Executar todo dia às 3h da manhã 0 3 * * * /home/usuario/backup.sh # Executar a cada 5 minutos */5 * * * * /home/usuario/monitor.sh # Executar todo domingo às 23h 0 23 * * 0 /home/usuario/relatorio.sh # Executar dia 1 de cada mês às 6h 0 6 1 * * /home/usuario/limpeza.sh # Ver logs do cron journalctl -u cron # Cron do sistema (root) sudo cat /etc/crontab
08

Segurança e Logs

Firewall (ufw/iptables), SSH, auditoria, logs de segurança, fail2ban.

3 aulas
UFW: Firewall Simplificado

Configuração de firewall com UFW (Uncomplicated Firewall).

15min
Resumo: UFW é uma interface simplificada para iptables. Facilita a configuração de regras de firewall para proteger o sistema.
# Ver status do firewall sudo ufw status sudo ufw status verbose # Habilitar firewall sudo ufw enable # Permitir SSH (porta 22) sudo ufw allow ssh sudo ufw allow 22/tcp # Permitir HTTP/HTTPS sudo ufw allow http sudo ufw allow https sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Permitir faixa de portas sudo ufw allow 3000:4000/tcp # Negar tráfego sudo ufw deny 23 # Remover regra sudo ufw delete allow 22 # Resetar firewall sudo ufw reset # Ver regras numeradas sudo ufw status numbered sudo ufw delete 3
SSH: Acesso Remoto Seguro

Configuração do SSH, chaves, autenticação, segurança.

20min
Resumo: SSH (Secure Shell) permite acesso remoto seguro ao terminal. Configuração adequada é essencial para segurança do servidor.
# Instalar SSH server sudo apt install openssh-server -y # Ver status sudo systemctl status ssh # Gerar chave SSH ssh-keygen -t ed25519 -C "email@exemplo.com" # Copiar chave para servidor remoto ssh-copy-id usuario@servidor # Conectar via SSH ssh usuario@servidor ssh -p 2222 usuario@servidor # Porta customizada # Configurar SSH (editar com cuidado!) sudo nano /etc/ssh/sshd_config # Boas práticas no sshd_config: # Port 2222 # Mudar porta padrão # PermitRootLogin no # Proibir root # PasswordAuthentication no # Usar apenas chaves # AllowUsers usuario1 usuario2 # Limitar usuários # Reiniciar SSH após alterações sudo systemctl restart ssh # Ver logs de SSH sudo journalctl -u ssh -f cat /var/log/auth.log | grep ssh
Auditoria e Logs de Segurança

Analisar logs, verificar acessos, detectar intrusões.

20min
Resumo: Auditoria de segurança envolve analisar logs do sistema, verificar acessos bem-sucedidos e falhos, e detectar atividades suspeitas.
# Ver quem está logado who w last lastlog # Ver logins recentes cat /var/log/auth.log | grep "Accepted" cat /var/log/auth.log | grep "Failed" # Ver comandos executados por usuário cat ~/.bash_history history # Ver arquivos modificados recentemente find / -type f -mtime -1 2>/dev/null find /etc -type f -mtime -1 # Verificar integridade de arquivos sudo apt install debsums sudo debsums -s # Ver processos suspeitos ps auxf netstat -tulpn # Verificar portas abertas sudo ss -tulpn # Logs importantes: # /var/log/auth.log - Autenticação # /var/log/syslog - Sistema geral # /var/log/kern.log - Kernel # /var/log/dpkg.log - Pacotes instalados # /var/log/apt/history.log - APT
🏆 Projeto Final

Projeto Final: Monitoramento e Auditoria de Sistema Linux

Desenvolva um script completo de auditoria de TI que extrai informações críticas do sistema Linux para monitoramento e conformidade. O script deve coletar: (1) Quem acessou o sistema e quando (logins bem-sucedidos e falhos); (2) Datas de inicialização e desligamento do sistema; (3) Quando o sistema foi formatado/instalado; (4) Softwares instalados e removidos (histórico do dpkg/apt); (5) Arquivos de configuração alterados recentemente; (6) Sites acessados e arquivos baixados (histórico de navegadores); (7) Informações dos navegadores instalados (perfis, extensões, cookies). O script deve gerar um relatório consolidado em formato HTML ou PDF com todas as informações organizadas por categoria, incluindo timestamps, IPs de origem e detalhes relevantes para auditoria de TI.

Acessar o projeto prático