===== Nível Básico ===== === 1. Verificação de Informações do Sistema === * **uname** - Exibe informações básicas sobre o sistema. - Exemplo de uso: uname -a - Descrição: Mostra informações detalhadas sobre o kernel, nome do host, versão do sistema operacional e arquitetura do hardware. * **hostnamectl** - Exibe ou modifica o nome do host do sistema. - Exemplo de uso: hostnamectl - Descrição: Exibe o nome atual do host, o sistema operacional e informações do kernel. Pode ser usado para alterar o nome do host. === 2. Gerenciamento de Pacotes com `apt` (Debian/Ubuntu) === * **apt update** - Atualiza a lista de pacotes disponíveis. - Exemplo de uso: sudo apt update - Descrição: Atualiza os índices dos repositórios de pacotes, garantindo que o sistema tenha as informações mais recentes sobre pacotes disponíveis. * **apt upgrade** - Atualiza todos os pacotes instalados. - Exemplo de uso: sudo apt upgrade - Descrição: Instala as últimas versões de todos os pacotes atualmente instalados no sistema. === 3. Monitoramento Simples de Uso de Recursos === * **free** - Exibe o uso da memória no sistema. - Exemplo de uso: free -h - Descrição: Mostra o total, o uso atual e a memória livre no sistema, de forma legível (em MB/GB). * **df** - Verifica o uso do disco. - Exemplo de uso: df -h - Descrição: Exibe o espaço total, utilizado e disponível em cada sistema de arquivos montado, de forma legível (em MB/GB). === 4. Gerenciamento de Usuários === * **whoami** - Exibe o usuário atual logado. - Exemplo de uso: whoami - Descrição: Exibe o nome do usuário que está executando o comando. * **useradd** - Cria um novo usuário no sistema. - Exemplo de uso: sudo useradd novo_usuario - Descrição: Adiciona um novo usuário chamado ''novo_usuario'' ao sistema. ===== Nível Intermediário ===== === 1. Gerenciamento de Serviços com `systemctl` === * **systemctl status** - Verifica o status de um serviço. - Exemplo de uso: systemctl status apache2 - Descrição: Mostra o status atual do serviço ''apache2'', incluindo se ele está em execução, quando foi iniciado e logs recentes. * **systemctl start** - Inicia um serviço. - Exemplo de uso: sudo systemctl start apache2 - Descrição: Inicia o serviço ''apache2'', ativando-o se ele estiver parado. * **systemctl stop** - Para um serviço. - Exemplo de uso: sudo systemctl stop apache2 - Descrição: Para o serviço ''apache2'', encerrando sua execução. * **systemctl enable** - Habilita um serviço para iniciar automaticamente no boot. - Exemplo de uso: sudo systemctl enable apache2 - Descrição: Configura o serviço ''apache2'' para iniciar automaticamente durante a inicialização do sistema. === 2. Controle de Processos === * **ps aux** - Lista todos os processos em execução no sistema. - Exemplo de uso: ps aux - Descrição: Exibe uma lista de todos os processos em execução, com informações sobre o usuário, consumo de CPU, memória e mais. * **kill** - Envia um sinal para encerrar um processo. - Exemplo de uso: sudo kill 1234 - Descrição: Envia o sinal de término (SIGTERM) para o processo com o PID 1234, solicitando que ele encerre a execução. * **killall** - Encerra todos os processos com o mesmo nome. - Exemplo de uso: sudo killall apache2 - Descrição: Encerra todos os processos relacionados ao serviço ou aplicativo ''apache2''. === 3. Gerenciamento de Pacotes com `yum` (Red Hat/CentOS) === * **yum update** - Atualiza todos os pacotes instalados. - Exemplo de uso: sudo yum update - Descrição: Atualiza todos os pacotes instalados no sistema para suas versões mais recentes. * **yum install** - Instala novos pacotes no sistema. - Exemplo de uso: sudo yum install httpd - Descrição: Instala o pacote ''httpd'' (Apache Web Server) no sistema. === 4. Controle de Permissões com `sudo` === * **sudo visudo** - Edita o arquivo de configuração do sudo. - Exemplo de uso: sudo visudo - Descrição: Abre o arquivo de configuração ''/etc/sudoers'' em um editor seguro, onde podem ser definidas permissões de superusuário para usuários específicos. * **sudo -u** - Executa um comando como outro usuário. - Exemplo de uso: sudo -u usuario comando - Descrição: Executa o ''comando'' como o usuário especificado, útil para tarefas administrativas em nome de outro usuário. ===== Nível Avançado ===== === 1. Agendamento de Tarefas com `cron` === * **crontab -e** - Edita as tarefas agendadas para um usuário. - Exemplo de uso: crontab -e - Descrição: Abre o arquivo de tarefas do cron para edição, permitindo que você agende comandos ou scripts para execução automática em horários específicos. * **crontab -l** - Lista as tarefas agendadas do cron. - Exemplo de uso: crontab -l - Descrição: Exibe todas as tarefas agendadas para o usuário atual no cron. * Exemplo de agendamento no cron: - Exemplo de uso: 0 2 * * * /home/usuario/backup.sh - Descrição: Agenda o script ''backup.sh'' para ser executado todos os dias às 2h da manhã. === 2. Gerenciamento de Disco com `fdisk` e `mkfs` === * **fdisk -l** - Lista as partições do disco. - Exemplo de uso: sudo fdisk -l - Descrição: Exibe a tabela de partições de todos os discos disponíveis no sistema. * **mkfs.ext4** - Formata uma partição no sistema de arquivos ext4. - Exemplo de uso: sudo mkfs.ext4 /dev/sda1 - Descrição: Cria um sistema de arquivos ext4 na partição ''/dev/sda1'', preparando-a para armazenar dados. === 3. Gerenciamento de Volumes Lógicos com LVM === * **pvcreate** - Cria um volume físico. - Exemplo de uso: sudo pvcreate /dev/sdb1 - Descrição: Inicializa o dispositivo ''/dev/sdb1'' como um volume físico para ser utilizado no LVM (Logical Volume Manager). * **vgcreate** - Cria um grupo de volumes. - Exemplo de uso: sudo vgcreate vg_dados /dev/sdb1 /dev/sdc1 - Descrição: Cria um grupo de volumes chamado ''vg_dados'' utilizando os volumes físicos ''/dev/sdb1'' e ''/dev/sdc1''. * **lvcreate** - Cria um volume lógico. - Exemplo de uso: sudo lvcreate -L 50G -n lv_backup vg_dados - Descrição: Cria um volume lógico chamado ''lv_backup'' com 50 GB de espaço dentro do grupo de volumes ''vg_dados''. === 4. Análise de Logs com `journalctl` === * **journalctl** - Exibe logs do systemd. - Exemplo de uso: sudo journalctl -xe - Descrição: Exibe os logs detalhados do systemd, incluindo erros recentes e eventos críticos. O parâmetro ''-xe'' mostra eventos críticos e erros que ocorreram recentemente. * **journalctl --since** - Filtra logs por tempo. - Exemplo de uso: sudo journalctl --since "2024-10-01 12:00:00" - Descrição: Exibe todos os logs do systemd desde o horário especificado. === 5. Sincronização de Arquivos com `rsync` === * **rsync** - Sincroniza arquivos e diretórios entre diferentes locais. - Exemplo de uso: rsync -av /home/usuario/projeto/ /backup/projeto/ - Descrição: Sincroniza o conteúdo do diretório ''/projeto'' com o diretório de backup, copiando apenas os arquivos que foram modificados. * **rsync -e ssh** - Sincroniza arquivos entre máquinas via SSH. - Exemplo de uso: rsync -avz -e ssh /home/usuario/projeto/ usuario@servidor_remoto:/backup/projeto/ - Descrição: Sincroniza o diretório ''/projeto'' entre a máquina local e o servidor remoto, utilizando o SSH para garantir a transferência segura. === 6. Gerenciamento de Recursos com `ulimit` === * **ulimit -n** - Define o número máximo de arquivos abertos por processo. - Exemplo de uso: ulimit -n 4096 - Descrição: Define o limite máximo de 4096 arquivos abertos por processo no shell atual. Este comando é útil para evitar esgotamento de recursos em servidores de alta carga. * **ulimit -u** - Define o número máximo de processos que um usuário pode criar. - Exemplo de uso: ulimit -u 512 - Descrição: Limita o número máximo de processos que o usuário pode executar simultaneamente para 512, ajudando a controlar o consumo de recursos do sistema. ===== Nível Especializado ===== === 1. Automação com `Ansible` === * **ansible-playbook** - Executa playbooks para automação de configurações e gerenciamento de servidores. - Exemplo de uso: ansible-playbook -i inventario.yml site.yml - Descrição: Executa o playbook ''site.yml'' usando o arquivo de inventário ''inventario.yml'', que contém a lista de hosts e suas respectivas configurações. * **ansible -m** - Executa módulos Ansible diretamente. - Exemplo de uso: ansible all -m ping -i inventario.yml - Descrição: Usa o módulo ''ping'' para verificar a conectividade com todos os hosts listados no inventário. === 2. Gerenciamento de Certificados com `openssl` === * **openssl genpkey** - Gera uma chave privada. - Exemplo de uso: openssl genpkey -algorithm RSA -out chave_privada.pem -aes256 - Descrição: Gera uma chave privada RSA criptografada com AES-256 e a salva no arquivo ''chave_privada.pem''. * **openssl req** - Gera uma solicitação de assinatura de certificado (CSR). - Exemplo de uso: openssl req -new -key chave_privada.pem -out cert.csr - Descrição: Cria uma solicitação de assinatura de certificado (CSR) usando a chave privada ''chave_privada.pem''. A CSR será usada para obter um certificado digital de uma autoridade certificadora (CA). * **openssl x509** - Converte, exibe ou assina certificados digitais. - Exemplo de uso: openssl x509 -in cert.csr -signkey chave_privada.pem -out cert.crt - Descrição: Assina a CSR com a chave privada e gera um certificado assinado autoassinado ''cert.crt''. === 3. Containers e Orquestração com Docker e Kubernetes === * **docker run** - Inicia um container Docker. - Exemplo de uso: docker run -d --name app_container -p 80:80 app_imagem - Descrição: Inicia um container em segundo plano com o nome ''app_container'', usando a imagem ''app_imagem'' e mapeando a porta 80 do host para a porta 80 do container. * **docker-compose up** - Gerencia múltiplos containers com Docker Compose. - Exemplo de uso: docker-compose up -d - Descrição: Inicia todos os containers definidos no arquivo ''docker-compose.yml'' em segundo plano. * **kubectl apply** - Aplica arquivos de configuração do Kubernetes para gerenciar containers. - Exemplo de uso: kubectl apply -f deployment.yml - Descrição: Aplica a configuração especificada no arquivo ''deployment.yml'', criando ou atualizando os recursos no cluster Kubernetes, como pods, serviços e deployments. === 4. Segurança com SELinux e AppArmor === * **getenforce** - Verifica o status do SELinux. - Exemplo de uso: getenforce - Descrição: Exibe o status atual do SELinux, que pode estar em modo ''enforcing'' (forçando políticas de segurança), ''permissive'' (apenas alertando), ou ''disabled''. * **setenforce** - Altera o modo do SELinux. - Exemplo de uso: sudo setenforce 0 - Descrição: Desativa temporariamente a aplicação das políticas de segurança do SELinux, colocando-o em modo permissivo. * **aa-enforce** - Ativa um perfil AppArmor para forçar as políticas de segurança. - Exemplo de uso: sudo aa-enforce /etc/apparmor.d/usr.sbin.nginx - Descrição: Coloca o perfil de segurança do AppArmor associado ao ''nginx'' em modo de aplicação, garantindo que as regras de segurança sejam aplicadas. === 5. Auditoria e Monitoramento de Segurança com `auditd` === * **auditctl** - Configura regras de auditoria de acesso. - Exemplo de uso: auditctl -w /etc/passwd -p wa -k monitor_passwd - Descrição: Monitora o arquivo ''/etc/passwd'' para detectar e registrar tentativas de escrita e acesso, associando os eventos de auditoria com a chave ''monitor_passwd''. * **ausearch** - Pesquisar eventos de auditoria. - Exemplo de uso: ausearch -k monitor_passwd - Descrição: Pesquisa no log de auditoria todos os eventos relacionados à chave ''monitor_passwd'', fornecendo detalhes sobre quem tentou acessar ou modificar o arquivo. === 6. Backup e Recuperação com `rsnapshot` === * **rsnapshot** - Ferramenta de backup incremental. - Exemplo de uso: rsnapshot hourly - Descrição: Executa um backup incremental baseado na configuração definida no arquivo ''/etc/rsnapshot.conf'', armazenando backups por hora. * **rsnapshot configtest** - Verifica a configuração do rsnapshot. - Exemplo de uso: rsnapshot configtest - Descrição: Valida a configuração do rsnapshot antes de executar um backup, garantindo que todas as opções no arquivo de configuração estejam corretas.