wiki:linux:ol:sysadmin
Table of Contents
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)<br>
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à interfaceeth0.
- 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.
wiki/linux/ol/sysadmin.txt · Last modified: by Wiki Administrator
