===== Comandos de Gerenciamento de Pacotes ===== ==== YUM/DNF (para gerenciamento de pacotes e repositórios) ==== * **Instalar um pacote:** - sudo dnf install nome_do_pacote - Instala um pacote usando o gerenciador de pacotes **DNF** (substituto moderno do **YUM**). * **Remover um pacote:** - sudo dnf remove nome_do_pacote - Remove um pacote do sistema. * **Atualizar todos os pacotes instalados:** - sudo dnf update - Atualiza todos os pacotes instalados para suas versões mais recentes. * **Listar pacotes instalados:** - sudo dnf list installed - Lista todos os pacotes atualmente instalados no sistema. * **Limpar o cache de pacotes:** - sudo dnf clean all - Limpa o cache do DNF, útil para liberar espaço ou corrigir problemas de cache corrompido. * **Pesquisar por pacotes disponíveis:** - dnf search nome_do_pacote - Pesquisa pacotes no repositório com base no nome ou descrição. * **Obter informações sobre um pacote:** - dnf info nome_do_pacote - Exibe informações detalhadas sobre um pacote, como versão, tamanho e repositório. * **Habilitar/Desabilitar um repositório temporariamente:** - sudo dnf --enablerepo=nome_do_repositorio install nome_do_pacote - Permite instalar pacotes de um repositório específico sem alterar sua configuração permanentemente. ==== RPM (para gerenciamento direto de pacotes) ==== * **Instalar um pacote RPM:** - sudo rpm -ivh pacote.rpm - Instala um pacote RPM baixado manualmente, exibindo o progresso com a opção `-v` (verbose) e uma barra de progresso com `-h`. * **Remover um pacote instalado via RPM:** - sudo rpm -e nome_do_pacote - Remove um pacote instalado com RPM. * **Verificar informações sobre um pacote RPM:** - rpm -qi nome_do_pacote - Exibe informações detalhadas sobre um pacote RPM instalado, como versão, descrição e data de instalação. * **Listar arquivos de um pacote RPM:** - rpm -ql nome_do_pacote - Lista todos os arquivos instalados por um pacote RPM. * **Verificar dependências de um pacote RPM:** - rpm -qR nome_do_pacote - Lista todas as dependências de um pacote RPM. * **Verificar a assinatura de um pacote RPM:** - rpm --checksig pacote.rpm - Verifica a assinatura digital de um pacote RPM, garantindo sua autenticidade. * **Atualizar um pacote RPM manualmente:** - sudo rpm -Uvh pacote.rpm - Atualiza um pacote RPM para uma nova versão. ==== Reposições de Pacotes ==== * **Adicionar um repositório:** - sudo dnf config-manager --add-repo=http://url-do-repositorio - Adiciona um novo repositório de pacotes ao sistema. * **Listar repositórios habilitados:** - sudo dnf repolist - Lista todos os repositórios atualmente habilitados no sistema. * **Desabilitar temporariamente um repositório:** - sudo dnf config-manager --set-disabled nome_do_repositorio - Desativa um repositório para que ele não seja utilizado nas operações de instalação e atualização. * **Habilitar novamente um repositório:** - sudo dnf config-manager --set-enabled nome_do_repositorio - Reabilita um repositório previamente desativado. ==== Gerenciamento de Grupos de Pacotes ==== * **Listar grupos de pacotes disponíveis:** - sudo dnf group list - Exibe uma lista de grupos de pacotes categorizados, como "Desktops" ou "Ferramentas de Desenvolvimento". * **Instalar um grupo de pacotes:** - sudo dnf group install "nome_do_grupo" - Instala todos os pacotes pertencentes ao grupo especificado. * **Remover um grupo de pacotes:** - sudo dnf group remove "nome_do_grupo" - Remove todos os pacotes pertencentes a um grupo. ===== Controle de Serviços e Gerenciamento de Processos ===== ==== Systemctl (Gerenciamento de Serviços) ==== * **Iniciar um serviço:** - sudo systemctl start nome_do_servico - Inicia o serviço especificado, como `nginx` ou `sshd`. * **Parar um serviço:** - sudo systemctl stop nome_do_servico - Para a execução de um serviço. * **Reiniciar um serviço:** - sudo systemctl restart nome_do_servico - Reinicia um serviço, útil após mudanças na configuração. * **Recarregar a configuração de um serviço sem interromper sua execução:** - sudo systemctl reload nome_do_servico - Recarrega a configuração do serviço sem pará-lo, ideal para serviços como web servers. * **Habilitar um serviço para iniciar automaticamente no boot:** - sudo systemctl enable nome_do_servico - Configura o serviço para iniciar automaticamente quando o sistema é inicializado. * **Desabilitar um serviço no boot:** - sudo systemctl disable nome_do_servico - Remove o serviço da lista de inicialização automática. * **Verificar o status de um serviço:** - sudo systemctl status nome_do_servico - Exibe o status atual do serviço, incluindo logs recentes e o estado (ativo/inativo). * **Listar todos os serviços e seus estados:** - systemctl list-units --type=service - Lista todos os serviços do sistema e seu estado atual (ativos, inativos, falhos). * **Reiniciar o sistema:** - sudo systemctl reboot - Reinicia o sistema de forma controlada. * **Desligar o sistema:** - sudo systemctl poweroff - Desliga completamente o sistema. ==== Gerenciamento de Processos (comando ps e top) ==== * **Listar todos os processos em execução:** - ps aux - Exibe uma lista completa de todos os processos em execução no sistema, com detalhes como PID, uso de CPU, memória, etc. * **Exibir processos de um usuário específico:** - ps -u nome_do_usuario - Mostra os processos que pertencem ao usuário especificado. * **Monitorar processos em tempo real (modo interativo):** - top - Exibe uma lista interativa de processos, atualizando constantemente o uso de recursos como CPU e memória. * **Monitorar processos de forma personalizada com htop:** - htop - Uma versão aprimorada do `top`, mostrando uso de recursos com cores, barras e navegação interativa. * **Encerrar um processo manualmente:** - kill -9 PID - Força o encerramento de um processo usando o **PID** (Process ID). * **Matar todos os processos de um usuário específico:** - sudo pkill -u nome_do_usuario - Encerra todos os processos pertencentes ao usuário especificado. * **Encerrar processos pelo nome:** - sudo pkill nome_do_processo - Encerra todos os processos com o nome especificado. * **Renice (alterar prioridade de execução) de um processo:** - sudo renice +10 PID - Aumenta a prioridade de um processo específico para que ele consuma menos recursos da CPU. ==== Gerenciamento de Tarefas em Segundo Plano (bg, fg e jobs) ==== * **Listar todos os jobs em segundo plano:** - jobs - Exibe uma lista de todos os jobs executados em segundo plano (background). * **Enviar um processo em execução para o segundo plano:** - Ctrl + Z (pressionar para pausar o processo)
bg (executa o processo em segundo plano) - Pausa o processo com `Ctrl + Z` e o coloca em segundo plano com o comando `bg`. * **Trazer um processo em segundo plano de volta para o primeiro plano:** - fg - Traz o processo mais recente em segundo plano para o primeiro plano. * **Executar um comando diretamente em segundo plano:** - comando & - Executa um comando em segundo plano diretamente. * **Destruir um job em segundo plano:** - kill %número_do_job - Encerra um job em segundo plano usando o número do job listado pelo comando `jobs`. ==== Cron e Agendamento de Tarefas ==== * **Editar as tarefas agendadas (crontab):** - crontab -e - Abre o arquivo **crontab** para editar as tarefas agendadas para o usuário atual. * **Listar as tarefas agendadas para o usuário atual:** - crontab -l - Exibe todas as tarefas atualmente agendadas no **crontab** do usuário. * **Remover todas as tarefas agendadas do usuário:** - crontab -r - Remove o **crontab** do usuário atual, apagando todas as tarefas agendadas. * **Exemplo de entrada no crontab para uma tarefa diária:** - 0 3 * * * /usr/bin/python3 /caminho/script.py - Executa o script Python diariamente às 03:00. * **Exemplo de tarefa que roda a cada 10 minutos:** - */10 * * * * /usr/sbin/logrotate /etc/logrotate.conf - Executa o logrotate a cada 10 minutos para rodar a rotação de logs. ===== Monitoramento de Desempenho ===== ==== Monitoramento de Recursos de Sistema (CPU, Memória, Disco) ==== * **Monitorar o uso de CPU, memória e swap:** - free -h - Exibe o uso de memória física, memória swap e buffers em um formato amigável, mostrando detalhes em gigabytes (`-h`). * **Exibir o uso de espaço em disco:** - df -h - Mostra a quantidade de espaço em disco usado e disponível em cada sistema de arquivos, com a opção `-h` para exibir em formato legível (GB/MB). * **Exibir uso detalhado de um diretório específico:** - du -sh /caminho/diretorio - Exibe o tamanho total do diretório especificado. * **Monitorar o uso da CPU de forma detalhada:** - mpstat - Exibe o uso detalhado de cada CPU/core no sistema. * **Exibir informações detalhadas sobre o desempenho do disco:** - iostat - Exibe estatísticas sobre o uso do disco e I/O, útil para detectar gargalos de disco. * **Monitorar entradas/saídas de disco em tempo real:** - iotop - Mostra o uso de disco por processos em tempo real, semelhante ao `top`. * **Observar a carga média do sistema:** - uptime - Exibe o tempo que o sistema está em execução e a média de carga do sistema para os últimos 1, 5 e 15 minutos. * **Exibir uso de CPU e disco em tempo real:** - vmstat 2 - Exibe estatísticas de sistema (CPU, memória, disco) com atualizações a cada 2 segundos. ==== Monitoramento de Rede ==== * **Monitorar conexões de rede ativas:** - ss -tuln - Exibe todas as conexões de rede ativas e portas de escuta, com `ss` sendo um substituto moderno para o `netstat`. * **Exibir estatísticas detalhadas de interface de rede:** - ifstat - Exibe estatísticas de entrada/saída de pacotes para todas as interfaces de rede. * **Monitorar o tráfego de rede em tempo real:** - iftop - Exibe o tráfego de rede em tempo real, útil para monitorar o uso de banda por cada conexão. * **Exibir o número de pacotes enviados/recebidos por interfaces:** - netstat -i - Exibe estatísticas sobre pacotes recebidos/enviados por interface de rede. * **Monitorar desempenho de rede usando iperf:** - **No servidor (para aceitar conexões):** iperf3 -s - **No cliente (para testar a conexão com o servidor):** iperf3 -c IP_do_servidor - Realiza testes de desempenho de rede entre dois sistemas. * **Exibir a tabela de roteamento do sistema:** - ip route - Exibe as rotas atuais configuradas no sistema, útil para verificar o caminho dos pacotes na rede. * **Monitorar a latência de rede com ping:** - ping IP_ou_hostname - Verifica a conectividade e a latência entre o sistema e outro dispositivo na rede. * **Testar conectividade com uma porta específica usando netcat:** - nc -zv IP_do_servidor porta - Verifica se uma porta específica está aberta em um determinado IP, útil para testes de serviços. ===== Configuração de Rede ===== ==== Gerenciamento de Interfaces de Rede ==== * **Exibir informações das interfaces de rede:** - ip address show - Exibe detalhes das interfaces de rede e seus respectivos endereços IP. * **Atribuir um endereço IP a uma interface:** - sudo ip addr add 192.168.1.100/24 dev eth0 - Atribui o endereço IP ''192.168.1.100'' à interface ''eth0''. * **Remover um endereço IP de uma interface:** - sudo ip addr del 192.168.1.100/24 dev eth0 - Remove o endereço IP `192.168.1.100` da interface `eth0`. * **Ativar uma interface de rede:** - sudo ip link set dev eth0 up - Ativa a interface `eth0`, trazendo-a "para cima". * **Desativar uma interface de rede:** - sudo ip link set dev eth0 down - Desativa a interface `eth0`, trazendo-a "para baixo". * **Exibir as rotas da tabela de roteamento:** - ip route show - Exibe as rotas atualmente configuradas no sistema, mostrando o caminho dos pacotes. * **Adicionar uma rota estática ao sistema:** - sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0 - Adiciona uma rota para a rede `192.168.2.0/24` via o gateway `192.168.1.1` na interface `eth0`. ==== Ferramentas de Rede ==== * **Obter detalhes sobre o domínio e servidores DNS:** - dig exemplo.com - Executa uma consulta DNS para o domínio `exemplo.com`, exibindo os registros A, servidores de nome e muito mais. * **Verificar detalhes de uma URL ou servidor web:** - curl -I https://www.exemplo.com - Recupera e exibe o cabeçalho HTTP de um servidor web, útil para verificar a conectividade e o status HTTP. * **Testar conectividade com múltiplas portas e serviços:** - nmap -p 22,80,443 IP_do_servidor - Verifica se as portas 22 (SSH), 80 (HTTP) e 443 (HTTPS) estão abertas em um servidor específico. * **Exibir informações de uma conexão TCP específica:** - ss -tn dst IP_do_servidor - Exibe informações de conexões TCP estabelecidas para um IP específico. * **Manipular regras de firewall usando Firewalld:** - sudo firewall-cmd --list-all - Exibe todas as regras ativas no firewall para a zona padrão. * **Abrir uma porta específica no Firewalld (porta 8080, TCP):** - sudo firewall-cmd --permanent --add-port=8080/tcp - Abre a porta `8080` para conexões TCP permanentemente. * **Fechar uma porta específica no Firewalld:** - sudo firewall-cmd --permanent --remove-port=8080/tcp - Remove a regra que permitia o tráfego na porta `8080`. ===== Segurança e Auditoria de Sistema ===== ==== Controle de Permissões (chown, chmod, chattr) ==== * **Alterar o proprietário de um arquivo/diretório:** - sudo chown usuario:grupo arquivo_ou_diretorio - Modifica o proprietário e o grupo de um arquivo ou diretório. * **Alterar permissões de leitura/escrita/execução de um arquivo:** - chmod 755 arquivo - Define as permissões de um arquivo para o proprietário ter leitura, escrita e execução, e o grupo e outros apenas leitura e execução. * **Recursivamente alterar permissões de diretórios e arquivos:** - chmod -R 755 /caminho/diretorio - Aplica permissões recursivamente, afetando todos os arquivos e subdiretórios dentro de `/caminho/diretorio`. * **Adicionar a permissão de execução para o proprietário de um arquivo:** - chmod u+x arquivo - Adiciona a permissão de execução para o usuário proprietário do arquivo. * **Remover permissões de escrita para outros usuários:** - chmod o-w arquivo - Remove a permissão de escrita para "outros" no arquivo. * **Definir a Imutabilidade de um Arquivo (chattr):** - sudo chattr +i arquivo - Define um arquivo como imutável, impedindo que ele seja modificado ou excluído até que o atributo seja removido. * **Remover a Imutabilidade de um Arquivo:** - sudo chattr -i arquivo - Remove a imutabilidade de um arquivo, permitindo modificações. * **Verificar os atributos de um arquivo:** - lsattr arquivo - Exibe os atributos especiais de um arquivo ou diretório. ==== Auditoria de Logs (Auditd e Logrotate) ==== * **Exibir logs de auditoria do sistema:** - sudo ausearch -m avc - Exibe logs de controle de acesso (AVC) para auditoria de segurança do SELinux. * **Monitorar alterações de arquivos específicos:** - sudo auditctl -w /etc/passwd -p war -k alteracoes_passwd - Monitora alterações no arquivo `/etc/passwd` com ações de gravação, alteração de atributos ou leitura. * **Exibir relatórios de auditoria baseados em chave:** - sudo ausearch -k alteracoes_passwd - Exibe os relatórios de auditoria associados à chave `alteracoes_passwd`. * **Configurar rotação de logs com logrotate:** - **Editar o arquivo de configuração para um serviço:** sudo nano /etc/logrotate.d/nginx - **Exemplo de configuração:** /var/log/nginx/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0640 nginx adm sharedscripts postrotate [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript } - Configura a rotação de logs do NGINX diariamente, mantendo 7 arquivos de log antigos. * **Forçar a rotação de logs imediatamente:** - sudo logrotate -f /etc/logrotate.conf - Força a execução imediata das regras de rotação de logs configuradas no sistema. ==== Gerenciamento de Firewall (FirewallD) ==== * **Verificar o status do firewall:** - sudo firewall-cmd --state - Exibe o status atual do **FirewallD** (ativo/inativo). * **Listar as zonas ativas e suas interfaces:** - sudo firewall-cmd --get-active-zones - Exibe as zonas de firewall ativas e as interfaces de rede associadas. * **Listar as regras de uma zona:** - sudo firewall-cmd --list-all --zone=public - Exibe todas as regras de firewall para a zona `public`. * **Abrir uma porta específica (porta 22, protocolo TCP):** - sudo firewall-cmd --add-port=22/tcp --permanent - Abre a porta `22` para o protocolo `TCP` de forma permanente. * **Fechar uma porta específica:** - sudo firewall-cmd --remove-port=22/tcp --permanent - Fecha a porta `22` para o protocolo `TCP`. * **Permitir tráfego para um serviço (ex.: HTTP):** - sudo firewall-cmd --add-service=http --permanent - Permite o tráfego HTTP na zona de firewall. * **Recarregar as regras do firewall:** - sudo firewall-cmd --reload - Recarrega todas as regras do firewall sem interromper conexões ativas. * **Bloquear um endereço IP específico:** - sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent - Bloqueia permanentemente o IP `192.168.1.100` no firewall. * **Habilitar o masquerading (NAT) em uma zona:** - sudo firewall-cmd --zone=public --add-masquerade --permanent - Ativa o mascaramento de IPs na zona `public`, útil para compartilhamento de conexão. * **Desabilitar o masquerading em uma zona:** - sudo firewall-cmd --zone=public --remove-masquerade --permanent - Desativa o mascaramento de IPs na zona `public`. ==== Gerenciamento de Usuários e Grupos (useradd, passwd, gpasswd) ==== * **Adicionar um novo usuário:** - sudo useradd nome_do_usuario - Cria um novo usuário no sistema. * **Definir uma senha para um usuário:** - sudo passwd nome_do_usuario - Define ou altera a senha do usuário `nome_do_usuario`. * **Adicionar um usuário a um grupo:** - sudo usermod -aG nome_do_grupo nome_do_usuario - Adiciona o usuário `nome_do_usuario` ao grupo `nome_do_grupo` sem removê-lo de outros grupos. * **Remover um usuário de um grupo:** - sudo gpasswd -d nome_do_usuario nome_do_grupo - Remove o usuário `nome_do_usuario` do grupo `nome_do_grupo`. * **Bloquear um usuário (desativar login):** - sudo usermod -L nome_do_usuario - Bloqueia a conta de um usuário, impedindo o login. * **Desbloquear um usuário:** - sudo usermod -U nome_do_usuario - Desbloqueia a conta do usuário, permitindo login novamente. * **Excluir um usuário e seus arquivos:** - sudo userdel -r nome_do_usuario - Remove a conta de um usuário e todos os arquivos no diretório home. * **Listar todos os usuários do sistema:** - cut -d: -f1 /etc/passwd - Exibe uma lista de todos os usuários registrados no sistema.