Introdução Programar em shell faz voltarmos a filosofia clássica do UNIX que é quebrar projetos complexos em subtarefas mais simples (isso é conhecido como princípio KISS, de Keep It Simple Stupid). Um conhecimento em shell script é essencial para qualquer um que deseja se tornar um administrador de sistemas, pois usando scripts, podemos realizar tarefas de administração muito mais rapidamente e muito mais facilmente (imagine a diferença entre ter que cadastrar trezentos usuários manualmente ou fazer um script com 6 linhas que cadastra todos estes usuários e ainda pode definir uma senha padrão para eles).
Todos os posts de Gustavo
Configurando um squid como proxy transparente
Configurando um squid como proxy transparente Este artigo foi originalmente publicado no site do Fundão. Atualizações, se existirem, serão colocadas nesta página.
Este tutorial não pretende ser um guia completo para uma configuração avançada
de Squid, ele apenas vai mostrar como fazer algumas configurações simples mas
que permitirão que se tenha um servidor atuando como gateway de uma rede
fazendo cache de http.
Continue lendo Configurando um squid como proxy transparente
Análise 01: Fedora Core 6
Análise 01 – Fedora Core 6
Esta é a primeira análise que estou escrevendo neste site. Pretendo de agora em diante, sempre que tiver tempo, testar novas distribuições e novos softwares e deixar minhas impressões aqui.
Parte do que escrevi aqui foi baseado no documento Release Notes do Fedora Core 6, onde obtive links e alguns detalhes sobre algumas ferramentas.
Resumo: Minha avaliação foi bastante positiva, tanto que já migrei meu notebook e meu desktop para a nova versão do Fedora (ok, já usava o Fedora Core 5, uma migração dessas é menos traumática). No Desktop eu fiz a instalação “do zero”, formatei a partição e instalei o Linux. No notebook, atualizei utilizando o yum (onde aproveitei e escrevi este tutorial). Recomendo a migração para quem já usa outra versão do Fedora e recomendo um teste para quem usar outra distribuição de Linux.
Dica 18: Usando yum-presto no Fedora 7 e no CentOS 5
Dica 18 – Usando o yum-presto no Fedora 7 e no CentOS 5
Mesmo em dias como hoje, onde uma conexão banda larga de alguns Mbps está custando relativamente pouco (pelo menos aqui em São Paulo), economizar no tamanho dos downloads de atualizações é muito importante. Eu pelo menos prefiro esperar um minuto ao invés de meia hora para atualizar meu sistema.
Continue lendo Dica 18: Usando yum-presto no Fedora 7 e no CentOS 5
Dica 17: Ativando o AIGLX no Fedora Core 6
Dica 17 – Ativando o AIGLX no Fedora Core 6 Este artigo nem poderia ser considerado um tutorial, de tão simples que é :)
Dica 16: Criptografia usando GPG – dicas rápidas
Dica 16 – Criptografia usando GPG – dicas rápidas
O gpg (GnuPG) é uma ferramenta livre para o uso de criptografia. É utilizado para criptografar arquivos, emails e etc.
Para criptografar, você precisará ter sua chave privada e a chave pública de quem vai receber o arquivo. Quem for receber o arquivo, deverá ter a sua chave pública, senão não terá como descriptografar seu arquivo.
Continue lendo Dica 16: Criptografia usando GPG – dicas rápidas
Dica 15: Como fazer upgrade do Fedora Core 5 para Fedora Core 6 usando yum
Dica 15 – Como fazer upgrade do Fedora Core 5 para Fedora Core 6 usando yum
Neste tutorial explicarei como fazer upgrade do Fedora Core 5 para Fedora Core 6 usando o yum. Para fins de ter o tutorial pronto na data do lançamento da versão final, fiz este procedimento utilizando a versão test 3.
Continue lendo Dica 15: Como fazer upgrade do Fedora Core 5 para Fedora Core 6 usando yum
Dica 14: Como saber qual processo está utilizando determinada porta
Dica 14 – Como saber qual processo está utilizando determinada porta
Pra que saber qual processo está utilizando determinada porta ?
Imagine a situação: seu servidor está se comportando de maneira estranha, muito tráfego na rede por exemplo, e você analisa a rede e descobre que seu servidor está com uma ou mais portas abertas e ouvindo conexões.
Primeiro, como saber quais são as portas que estão abertas no Linux ? Para isso, vamos utilizar o comando netstat. De acordo com a página man do netstat (que pode ser acessada digitando man netstat), o netstat mostra conexões de rede, tabelas de roteamento, estatísticas de interface e conexões, mascaradas.
Neste artigo, precisaremos saber quais portas estão listen ou ouvindo (ou seja, aguardando conexões) no protocolo tcp. Para isso, usaremos os parâmetros n e a do netstat para não resolver nomes (vai mostrar somente o IP, que deixa o comando mais rápido) e mostrar todas as conexões respectivamente. Sem usar o a, o netstat só irá mostrar as portas que está conectadas. Alé disso, vamos usar o grep para filtrar o que for somente tcp e o que estiver com status listen, assim:
netstat -na | grep tcp | grep -i listen
Para saber que processo está utilizando determinada porta, execute o fuser seguido da porta/protocolo. Por exemplo, para ver qual processo está utilizando a porta 22, usamos o fuser assim:
# fuser 22/tcp
22/tcp: 1683
O comando fuser informou que a porta 22/tcp está sendo usada pelo processo cujo PID é 1683. Então temos que somente usar o ps para descobrir quem é o processo 1683:
# ps aux | grep 1683
root 1683 0.0 0.2 4984 1080 ? Ss 08:46 0:00 /usr/sbin/sshd
Neste caso, descobrirmos que a porta 22/tcp estava sendo usada pelo sshd. Nada anormal neste servidor :)
Podemos usar este procedimento para verificar todas as portas que estão abertas.
Para melhorar a dica, pode-se elaborar um script para automatizar esta tarefa. Este script poderia comparar as portas que estão abertas no momento com uma lista predefinida e, caso não estivesse ok, o script poderia enviar um email informando isso.
Atualizado em 14 de julho de 2009:
Complementando, no caso de um Sun Solaris, pode-se usar uma combinação dos comandos lsof, grep e ps, assim (supondo que desejamos saber o que roda na porta 12345):
# lsof |grep 12345
java 11110 root 10u IPv4 0x300099a61e0 0t0 TCP *:12345 (LISTEN)
# ps -ef|grep 11110
root 11110 1 0 jul 06 ? 11:15 /opt/java/bin/java
Atualizado em 15 de maio de 2020:
# lsof -i tcp:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 40u IPv6 0xd7b650b0ec48643b 0t0 TCP *:ssh (LISTEN)
# lsof -i tcp:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 21u IPv4 0xd7b650b0f19880eb 0t0 TCP 10.0.1.9:ssh->10.0.1.4:rfio (ESTABLISHED)
launchd 1 root 40u IPv6 0xd7b650b0ec48643b 0t0 TCP *:ssh (LISTEN)
Caso queria visualizar todas portas abertas, basta executar lsof -i.
Dica 13: Configurando o Samba, com SWAT, no Conectiva
SAMBA – Implementação do protocolo SMB no Linux
Este tutorial foi feito baseado no Conectiva 7, foi testado no 7 e 5, mas deve funcionar com pouca ou nenhuma modificação em outras versões do Conectiva ou mesmo em outros Linux.
Continue lendo Dica 13: Configurando o Samba, com SWAT, no Conectiva
Dica 12: Ativando quotas de disco no Fedora Core
Dica 12 – Configuração de quota no Fedora Core 5
Pra que usar quota ? Quota pode ser usado para especificar limites para o uso de blocos de dados que podem ser alocados para um usuário ou grupo.
Continue lendo Dica 12: Ativando quotas de disco no Fedora Core