Leo obedecendo o comando deita!

August 17th, 2010


Esse é o leo, meu cachorro. Fiz um videozinho dele obedecendo o comando "deita".
Comentem!

Tags: , , ,

Testando o wordpress para android.

August 13th, 2010


image

Estou testando usar a ferramenta do wordpress para o sistema android.

Para testar o sistema de media, vou adicinar uma foto do leo e da melissa aqui na cozinha de casa.

Script para baixar e instalar o firfox

June 2nd, 2010


#!/bin/bash

cd /tmp

# Pegar o link do firefox em:
# http://www.mozilla.com/pt-BR/firefox/all.html
# Fazer o download do firefox
wget "http://download.mozilla.org/?product=firefox-3.6.3&os=linux&lang=pt-BR"

# Descompactar no diretorio /opt
tar xjf firefox-3.6.3.tar.bz2 -C /opt

# /usr/share/applications/
#  firefox.desktop
# Criar uma entrada no menu Aplicativos >> Internet
echo "[Desktop Entry]
Encoding=UTF-8
Name=Firefox Web Browser
Exec=/opt/firefox/firefox
Terminal=false
Type=Application
Icon=/opt/firefox/icons/mozicon128.png
Categories=Network;WebBrowser;" > /usr/share/applications/firefox.desktop

cd -

Tags: , , ,

Script sendEmail + gmail

June 2nd, 2010


Eu sempre que estou ministrando os cursos de gnu/linux, vou escrevendo alguns arquivos de texto com um resumo dos comandos e explicações.

O trabalho vinha na hora de enviar os arquivos para os alunos. Tinha que pedir para cada aluno fazer uma cópia remota via ssh ou tinha que abrir o email e digitar o email de todo mundo.

Então pedi para fazerem uma pagina na intranet da empresa que recebesse o código da turma via querystring e me retornasse um aluno por linha da seguinte forma "nome:email"

E então desenvolvi o script a seguir para automatizar o envio de email para os alunos.

E a pedido de alguns alunos estou disponibilizando o script aqui no blog.

A sintaxe do script é
script.sh [codigo] [dir]

#!/bin/bash

#variaveis de configuração
TMP=/tmp
ALUNOS=${TMP}/alunos.txt
ARQUIVOS=${HOME}/$2
CONFIG=${ETC}/tecmail.conf
ANEXO=${TMP}/$2-ate-aula-$(date +%F).tar.gz

#informações da conta e smtp
SMTP=smtp.gmail.com:587
USER=guest
PASS=guestpass
FROM="Tecnoponta Curso Linux <guest @gmail.com>"
TO="Gustavo Lichti<gustavo @apensystem.com>"
OPTIONS=" -o tls=yes -v"

DATA=$(date +"%F - %R")
TITULO="Tecnoponta - GNU/Linux $2 - $DATA "
TEXTO="
Tecnoponta Treinamentos - GNU/Linux $2
www.tecnoponta.com.br/linux
-------------------------------------------------------------------

Arquivos até o dia $(date +%F)
Arquivo em anexo: $ANEXO

Gustavo Lichti Mendonça
gustavo@apensystem.com
www.apensystem.com
"

#faz download do arquivo texto com os dados dos alunos
# nome:email
wget www.intranet.com.br/paginamedo.asp?cod=$1 -O $ALUNOS

# converte o final de linha de CRLF para LF
dos2unix $ALUNOS

#Formata e concatena os emails no formato:
# nome <email>
while read email; do
	NOME=$(echo $email | cut -d: -f1)
	EMAIL=$(echo $email | cut -d: -f2)
	EMAILS="$NOME < $EMAIL>,$EMAILS"
done < $ALUNOS

#compacta o diretorio
tar czf $ANEXO $ARQUIVOS

#envia o email usando o sendEmail
sendEmail -f "$FROM" -t "$TO" -cc "$EMAILS" -s $SMTP $OPTIONS -xu $USER -xp $PASS -u "$TITULO" -m "$TEXTO" -a "$ANEXO"

#Remove os arquivos temporarios
rm -f $ANEXO
rm -f $ALUNOS

#Fim!
exit 0

Tags: , , ,

Google Street View em São Vicente

March 20th, 2010


Hoje flagrei aqui na cidade de São Vicente o carro do google street view , na rua Jão Ramalho (Atrás da Prefeitura). Tirei algumas fotos do carro conversei com o pessoal que estava com o veiculo e as imagens devem estar disponíveis no serviço do google no mês de Outubro deste ano. Logo em seguida o carro saiu e virou na rua Tibiriça e em seguida na rua Frei Gaspar. O carro não estava trabalhando nesse momento.

Palestra fatec bs 2009

October 9th, 2009


Download:  palestra-fatec-bs-2009

Roteamento de pacotes com GNU/Linux -- Parte 1

September 22nd, 2009


Bom hoje eu vou falar sobre roteamento, em GNU Linux. Esta é a primeira parte do artigo. Explicando o básico. Logo logo vem a parte 2

Roteamento é o processo de encaminhamento de pacotes de uma rede para outra, feito sempre por um roteador. Esse roteador pode ser um equipamento profissional, SOHO(Small Office/Home Office) ou um computador com um sistema operacional. No nosso caso o foco é utilizar o sistema GNU/Linux.

O roteamento também pode ocorrer de duas forma estático ou dinâmico. No roteamento estático o caminho da rota é sempre predefinido, a tabela de roteamento é fixa. No roteamento dinâmico o roteador conhece mais que um caminho para chegar ao destino e age de forma inteligente escolhendo qual rota ele deve utilizar. No nosso caso abordaremos a forma de roteamento estático.

Irei utilizar para nossos exemplos a comunicação entre dois campus de uma universidade. Então vamos analisar a imagem a baixo.

roteamento1

Analisando o cenário a cima, podemos perceber que os dois campus estão utilizando a mesma rede(192.168.) já que estamos utilizando uma mascara de 16bits(255.255.0.0) onde os dois primeiros octetos definem a rede e os dois últimos definem o host. No caso a cima a interligação entre os dois campus é apenas o switch do campus01 interligado ao switch do campus02. Com isso temos um grande problema que é um trafego alto entre um campus e outro sem necessidade.

Para solucionar este problema é simples basta mudar a mascara de sub rede de 16 para 24bits e colocar um roteador entre os dois campus. Veja a imagem:

roteamento02

Viram? agora só ira ter trafego entre os dois campus caso for realmente necessário. Mas como funciona um roteador? Um roteador ele tem sempre pelo menos 2 interfaces de rede, que podem ser iguais ou diferentes. Mas sempre conectadas em redes diferentes.

Quando um equipamento vai se comunicar na rede ele verifica se o endereço de destino pertence a mesma rede que ele ou não, caso pertença ele apenas envia a informação para rede em forma de broadcasting e caso não pertença ele encaminha esse pacote para o roteador que vai ficar responsável por distribuir esta informação. Mas para que isso ocorra todos os equipamentos devem conhecer o endereço do roteador da rede, que nas configurações dos equipamentos é visto como default gateway ou apenas como gateway.

Com base no cenário anterior nós temos: Duas redes, a 192.168.10.0 do campus 01 e a 192.168.20.0 do campus 02, e temos um roteado que faz parte das duas redes. Para isso os equipamentos da rede do campus 01 devem ter configurado como default gateway o endereço 192.168.10.10 e os equipamentos do campus 02 devem ter configurados como  default gateway o endereço 192.168.20.10.

Mas e o  roteador? Bom como já foi dito lá no começo, o roteador poderia ser um cisco, um juniper, até mesmo um linksys ou um delink( Que medo!!! ). Mas no nosso caso vai ser uma CPU com GNU/Linux instalado. Eu utilizo no dia a dia Debian, e por isso vou usar ele como base para os testes sendo que os passos vistos aqui devem funcionar em outras distribuições.

Para esta tarefa precisamos de uma instalação minima do Debian.

Para o GNU/Linux trabalhar como roteador é muito simples, ainda mais quando vamos fazer o roteamento apenas entre 2 redes e só existe um roteador. Para que o roteamento de pacotes funcione o nosso sistema precisa fazer parte das duas redes e ter habilitado o repasse de pacotes para outra rede.

Para configurar rede podemos fazer:

ifconfig 192.168.10.10 up
ifconfig 192.168.20.10 up

E para habilitar o repasse de pacotes de uma rede para outra faça:

echo 1 > /proc/sys/net/ipv4/ip_forward

Pronto neste momento esta maquina já esta agindo como um roteador entre as redes 192.168.10.0 e 192.168.20.0

Bom no Debian as configurações das interfaces de rede(ip e mascara) podem ser feitas no arquivo /etc/network/interfaces e a configuração do repasse de pacotes pode ser feita no arquivo /etc/sysctl.conf. Mas estes arquivo podem mudar de distribuição para distribuição, por isso vou falar mais um pouco sobre os comandos anteriores.

O problema dos 3 comandos anteriores é que eles só funcionam enquanto a maquina não for reinicializada, após uma reinicialização tudo é perdido e o sistema não age mais como um roteador. Já imaginou o problema? Então para resolver isto podemos editar o arquivo /etc/rc.local e adicionar as 3 linhas de comando lá, antes do exit 0, esse arquivo sempre é executado na inicialização do sistema.

Esta é a primeira parte. Introdução a roteamento com GNU/Linux. Espero que tenha sido útil e até a segunda parte.

Tags: , , ,

SSH/SCP sem senha -- Passwordless

July 31st, 2009


SSH sem senha

Muitas vezes precisamos automatizar um tarefa e essa tarefa envolve o acesso remoto via ssh ou a cópia de um arquivo via scp. Para isso precisamos de um acesso via ssh sem senha, e uma conta sem senha seria uma falta de segurança enorme. Então para isso podemos gerar um certificado e fazer uma relação de confiança. Este certificado é baseado em chave publica e chave privada. Onde a chave privada é pessoal e intransferível e a publica você pode distribuir.

ssh-sem-senha

Vamos trabalhar em cima do cenário abaixo, onde temos dois servidores e uma estação. E o problema é que a estação, que na imagem é chamada de cliente, tem a necessidade de fazer conexões com os servidores via ssh, mas sem a utilização de senhas.

Tendo como base a situação descrita logo a cima vamos a solução.

Na maquina cliente siga faça:

mkdir ~/.ssh
cd ~/.ssh

Muitas vezes o diretório .ssh no home do usuário já existe, mas não tem problema. O importante é estar dentro deste diretório. Em seguida vamos criar o certificado com o comando ssh-keygen, ele ira solicitar para que você digite o nome do arquivo do certificado e em seguida vai solicitar que você digite uma passphase, uma frase de autenticação para o certificado. Nesta hora você não vai digitar nada, senão a frase será solicitada na hora da conexão e aí não vai adiantar nada. Então apenas de enter nas duas vezes que ele te solicitar esta informação. Então faça:

(Eu de acordo com a imagem escolhi para nome do arquivo meu sobrenome, lichti)

captura_de_tela-gustavogustavo-laptop-ssh

ssh-keygen

Pronto esse processo ira gera dois arquivos com o nome escolhido, no meu caso:
lichti e lichti.pub. O arquivo lichti é o que você deve guardar para utilizar para se identificar sempre que for necessário, e o arquivo lichti.pub é o arquivo que enviaremos aos servidores que vamos ter acesso.

Vamos ao proximo e último passo, enviar as chaves aos servidores. Faça:

ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.10
ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.11

Pronto, agora já podemos utilizar o ssh para se conectar aos servidores sem a utilização de senha, veja:

ssh usuario@10.0.0.10 -i ~/.ssh/lichti
ssh usuario@10.0.0.11 -i ~/.ssh/lichti

ou

scp /etc/fstab usuario@10.0.0.10 -i ~/.ssh/lichti
scp /etc/fstab usuario@10.0.0.11 -i ~/.ssh/lichti

Tags: , , , , , , ,