[OpenSUSE] Ativando flash player no Google Chrome

Recentemente instalei o Google Chrome em meu desktop com OpenSUSE 11.2 instalado, e assim que comecei a utilizá-lo percebi que a instalação padrão do flash player não funcionava.

Verificando a estrutura de diretórios do pacote, percebi que a pasta dos plugins do Chrome não fazia referência a pasta de plugins do sistema (/usr/lib/browser-plugins/) e também não tinha nenhum plugin instalado localmente.
Desta forma fica fácil chegar-mos na solução do problema, simplesmente vamos criar um link simbólico apontando para o diretório correto:

cd /opt/google/chrome
ln -s /usr/lib/browser-plugins/ plugins

Para descobrir se está funcionando corretamente, simplesmente abra uma nova aba e navegue algum site que utilize Flash.

[Iptables] Armazenando regras no Debian Linux

Configurar regras de firewall com iptables é uma tarefa bem comum no cotidiano de qualquer administrador de sistemas Linux, porém assim como outros tipos de configuração o serviço possui suas recomendações de acordo com a distribuição utilizada.

Primeiramente vamos criar um arquivo temporário para a validação das regras:

# vim /etc/iptables.test.rules

E então colocamos nossas regras dentro dele seguindo o padrão do próprio iptables, como no exemplo abaixo:

 *filter
 
 # Allows loopback traffic and drop all traffic to 127/8 that doesn't use lo0
 -A INPUT -i lo -j ACCEPT
 -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
 
 # Accepts all established inbound connections
 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 # Allows all outbound traffic
 # You could modify this to only allow certain traffic
 -A OUTPUT -j ACCEPT
 
 # Allows HTTP and HTTPS connections from anywhere
 -A INPUT -p tcp --dport 80 -j ACCEPT
 -A INPUT -p tcp --dport 443 -j ACCEPT
 
 # Allows SSH connections
 -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
 
 # Allow ping
 -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
 
 # log iptables denied calls (access via 'dmesg' command)
 -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
 
 # Reject all other inbound - default deny unless explicitly allowed policy:
 -A INPUT -j REJECT
 -A FORWARD -j REJECT
 
 COMMIT

Após a criação do arquivo com suas regras carregue-as com:

# iptables-restore < /etc/iptables.test.rules

Verifique se as regras estão corretas e se é necessária alguma alteração, e caso seja necessário simplesmente repita os procedimentos citados acima.

Depois de todas as regras carregadas corretamente salve-as em um arquivo definitivo como no exemplo abaixo:

# iptables-save > /etc/iptables.up.rules

Para garantir que nossas regras sejam carregadas durante o boot do sistema é necessário criar uma entrada para o iptables juntamente com os scripts de inicialização da rede:

# vim /etc/network/if-pre-up.d/iptables

Adicionando o seguinte conteúdo:

#!/bin/bash
 
 /sbin/iptables-restore < /etc/iptables.up.rules

Não podemos esquecer de dar permissão de execução para nosso script de chamada:

# chmod +x /etc/network/if-pre-up.d/iptables

Outra maneira muito comum de armazenar e carregar regras de iptables em sistemas Linux é com a utilização de um script de init, por exemplo /etc/init.d/firewall, adicionando sua inicialização nos runlevels do sistema.

Lembrando que todos os procedimentos e informações a respeito deste tipo de configuração em sistemas Debian Linux podem ser encontrados no wiki e também na documentação oficial do Debian em http://wiki.debian.org/.

Configurando timezone (/etc/localtime)

O timezone configurado através do /etc/localtime pode ser utilizado em qualquer distribuição Linux e normalmente todos os utilitários e ferramentas disponíveis nas distros para este fim simplesmente fazem a manipulação correta deste arquivo e mantém a lista de timezones atualizada. O arquivo /etc/localtime na maioria das vezes é um link simbólico para o arquivo correto de timezone dentro da pasta com os timezones disponíveis no sistema.

Para alterar o timezone atual, primeiramente entre no diretório /etc:
# cd /etc

Crie/recrie o link simbólico localtime fazendo referência ao arquivo correto:
# ln -sf /usr/share/zoneinfo/EST localtime

Em algumas distribuições (Red Hat like) o path dos arquivos de timezone é:
/usr/share/zoneinfo/dirname/zonefile.

Segue um exemplo para configurar o timezone da máquina para São Paulo / Brasil:
# cd /etc
# ln -sf /usr/share/zoneinfo/America/Sao_Paulo localtime

Você pode utilizar a variável de ambiente TZ para setar a data correta nas aplicações:
$ export TZ=America/Sao_Paulo
$ date

Configurando Timezone em Red Hat Linux

Dando continuidade ao último post, agora é a vez da configuração de timezone em sistemas baseados em Red Hat Linux. Em sistemas Red Hat / CentOS / Fedora temos o utilitário system-config-date que pode ser utilizado para automatizar todo o processo através de uma interface bem simples e amigável.

Para instalar e configurar o timezone através do utilitário, simplesmente prossiga com:
# yum install system-config-date
# system-config-date

Após finalizar as configurações de timezone elas entrarão em vigor imediatamente.

Além da configuração realizada através do utilitário também é possível utilizar o método genérico de configuração de timezone através do /etc/localtme, que assim que possível irei disponibilizar no próximo e último post da série de timezone.

Configurando Timezone no Debian Linux

Normalmente cada distribuição Linux tem seu próprio método de configuração para o timezone, que geralmente é bem simples, porém muitas vezes encontro servidores com timezone configurado de forma incorreta, o que pode trazer problemas durante a execução de diversas aplicações.

Como grande parte das distribuições atuais seguem o padrão Red Hat ou Debian, vou postar aqui inicialmente os métodos para configuração do timezone na plataforma Debian e no próximo artigo os procedimentos para Red Hat / CentOS.

Primeiramente verifique em qual timezone seu sistema está configurado com:

luizxx@kanu:~# tzconfig
Your current time zone is set to America/Sao_Paulo
Do you want to change that? [n]:

Caso o timezone apresentado esteja incorreto pressione y para configurá-lo corretamente seguindo as instruções apresentadas na tela.

Caso você queira configurar o timezone de um local dentro do Brasil, instale o pacote tz-brasil para agilizar as configurações de horário de verão:

luizxx@kanu:~# apt-get install tz-brasil

No Debian temos algumas particularidades na estrutura de configuração dependendo da versão do sistema operacional, na versão Etch e posteriores o arquivo /etc/localtime é uma cópia idêntica do datafile original, já nas versões anteriores ao Sarge ele é um link para o arquivo original, como apresentado no exemplo abaixo:

Debian Etch:
$ diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/New_York are identical

Debian Sarge:
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 48 Mar 31 11:19 /etc/localtime -> /usr/share/zoneinfo/America/Sao_Paulo