Wii-Black GTK+ Theme e GDesklets

Tags: , , — June 29, 2007 @ 10:18 pm

Estive procurando uma maneira de mudar o Visual do Xfce4 (sim, também uso Xfce4), principalmente dos painéis, que são muito feios…

Enquanto o Gnome Desktop tem opções que permitem deixar os painéis bem atraentes banstando alterar sua cores e tamanho, o Xfce é bem deficiente nesta parte (inclusive imagens de fundo nos paines do Xfce não são dimensionadas, mas sim repetidas, mas isso é assunto pra outra hora…).

Foi quanto decidi instalar os GDesklets, um conjunto de widgets para área de trabalho que podem dar um ótimo visual, a lá Mac OSX, para esta. Veja o screenshot:

Xfce4 | Wii-Black GTk+ theme | Gdesklets

Para instalar os Gdesklets no Debian basta usar o aptitude/apt-get:

# aptitude update
# aptitude install gdesklets gdesklets-data

Após instalar basta executar $ gdesklet, depois clique com o direito no ícone do gdesklets na bandeja do sistema e clique em ‘Gerenciar desklets’, assim vc poderá selecionar e configurar os desklets que quiser. A lançador estilo OSX é o ‘StarterBar’.

o Tema usado para o Xfce e GTK é o Wii-Black e pode ser obtido aqui: http://xfce-look.org/content/show.php/Wii-Black?content=45829 (GTK+ Theme), http://xfce-look.org/content/show.php/Wii-Black?content=54533, (Xfsm Theme).

Meu tema de ícones continua sendo o Gant. :D

Para saber mais, ou baixar novos desklets, visite http://www.gdesklets.org/.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Vista é mais seguro que Linux e OSX, diz MS

Tags: , , — June 26, 2007 @ 2:40 pm

Um relatório divulgado pela Microsoft afirma que o Windows Vista, desde o seu lançamento, tem menos vulnerabilidades sérias que o Linux e o OS X, da Apple.

Especificamente, o relatório compara o número de brechas de segurança registradas nos seis primeiros meses de vida no Vista, Windows XP, Red Hat Enterprise Linux 4 Workstation, Ubuntu 6.06, Novell SUSE Linux Enterprise Desktop 10.8, Mac OS X 10.4 e outros.

A conclusão, sempre segundo a Microsoft, é de que o Vista teve 12 brechas corrigidas. Em comparação, o Red Hat Workstation teve 281, sendo 86 de “alta severidade”. O Ubuntu teve 145 vulnerabilidades, 47 graves; o SUSE, 159, 50 severas; e o Mac OS X, 60, com 18 de alta severidade.

O relatório é apresentado por Jeff Jones, diretor de estratégia de segurança da Microsoft. Seus números e conclusões já estão sendo postos em dúvida. Uma das críticas feitas a ele refere-se à relação entre falhas conhecidas e corrigidas. Aponta-se, por exemplo, que o Red Hat teve mais brechas, mas resolveu 81% das falhas conhecidas, enquanto a taxa de correção no Vista é de apenas 48%.

O relatório original de Jones, em formato PDF, está neste endereço.

Fonte: http://info.abril.com.br/aberto/infonews/062007/25062007-19.shl

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Gif Injection

Tags: , — June 20, 2007 @ 12:29 pm

Recebi um artigo nesta manhã, do PHP Classes, sobre uma falha de segurança em PHP usando imagens *.gif, onde um usuário poderia inserir códigos php malicioso na imagem.

Eu mesmo fiz alguns testes quanto a vulnerabilidade, que pode ser encontrada em websites que não verifiquem a extensão e conteúdo de um arquivo enviado por upload, verificando, no máximo, as dimensões da imagem.

A função getimagesize() retornará valores nulos caso usada em um arquivo que não seja uma imagem válida, assim, um website que verifique o tamanho de uma imagem antes de serví-la não aceitará normalmente scripts PHP em seus uploads… porém, caso o código PHP seja inserido ao final de uma imagem, a função getimagesize() ainda retornará as dimensões da imagem e o tipo mime corretamente.

Em meu teste utilizei uma imagem GIF de 15×15 brasil.gif. então eu renomeei o arquivo para brasil.gif.php e simplesmente inseri meu código php ao final do arquivo, utilizando um editor de texto simples, com o vi.

PHP Injection on GIF Image

Assim, ao servir a imagem simplesmente apontanto o browser para o arquivo ‘brasil.gif.php’ o código php será executado normalmente, e a função getimagesize() ainda retornará o tamanho da imagem corretamente (achei interessante o modo como o Thunar, gerenciador de arquivos do Xfce4, descreve o arquivo em questão: ‘”brasil.gif.php” (403 B) Script PHP, Tamanho da Imagem: 15×15′).

Esta não chega a ser uma flaha de segurança muito problemática, visto que não é difícil de resolver, para isto, basta seguir algumas precauções de segurança:

  • Renomeio os arquivos (verifique o tipo mime do arquivo, <? $size = getimagesize($filename); $mime = $size[’mime’]; ?> e renomeio com a extensão adequada);
  • Não sirva diretamente as imagens enviando a url da imagem ao browser, utilize funções como readfile() para isso (envie o tipo de cabecalho e utilize uma função php para exibir a imagem, como <? header (’Content-Type: image/gif’); readfile ($image_path); ?>

Com pequenos cuidados como estes você não precisará se preocupar…

Fontes: http://www.phpclasses.org/blog/post/67-PHP-security-exploit-with-GIF-images.html, http://ha.ckers.org/blog/20070604/passing-malicious-php-through-getimagesize/

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Gnome Menus on E17

Tags: , , — June 19, 2007 @ 6:49 pm

Por muito tempo, após a adição do Efreet (veja aqui), eu estive procurando um modo de utilizar um bom menu no E17 (eu acho menu padrão do Debian péssimo) sem precisar editar o ~config/menus/applications.menu manualmente. Havia tentado usar os menus do KDE ou do Xfce4, mas como estes não seguem o padrão do freedesktop.org, não é possível utilizá-los em outros Gerenciadores de Janelas…

Mas nós podemos utilizar os menus do Gnome. Para isso, utilize aptitude/apt-get para instalar os menus xdg do gnome e coloque um link simbólico para ele em ~/config/menus/applications.menu

Instalando os menus do Gnome

# aptitude install gnome-menus

Utilizando os menus do Gnome no E, e outros WMs

$ ln -sf /etc/xdg/menus/gnome-applications.menu ~/.config/menus/applications.menu

Com isto, seu menu de aplicativos do E estará igual ao menu do Gnome (você não precisa ter o Gnome instalado, apenas os menus).

Caso deseje alterar o menu, você poderá usar o alacarte, o editor de menus do Gnome:

# aptitude install alacarte

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Apt Pinning

Tags: , — June 13, 2007 @ 12:40 pm

Com o lançamento do Debian Etch, e as Recentes atualizações do E17,estive com um pequeno problema… Como atualizar meus pacotes do E17 sem atualizar todo meu sistema para o Debian Unstable…

Com ajuda do pessoal do canal #debian@irc.freenode.net do irc encontrei um ótima solução. Trata-se do Apt Pinning

“Pinning permite que você rode certos pacotes de uma versão (estável, teste ou instável) sem a necessidade de atualizar todo seu sistema”

O Apt Pinning consistem em definir prioridades para cada versão de cada pacote, ou de todos os pacotes. Assim aversão de maior prioridade sempre será a usada, a menos que os pacotes a serem instalados não existam nesta versão. O Pinning também funciona para manter atualizada a versão de um pacote instalado anteriormente, sem precisar atualizar os demais pacotes, a não ser sua dependências (:-| confuso? continue lendo…) .

No meu caso, minha intenção é manter todo meu sistema como o Debian Etch, atual estável, com excessão do Enlightenment DR17, instável. Segue meu sources.list:

arquivo ‘/etc/apt/sources.list’

## Debian official ##
deb http://ftp.debian.org/debian/ stable main contrib non-free
deb http://ftp.debian.org/debian/ testing main contrib non-free
deb http://ftp.debian.org/debian/ unstable main contrib non-free

## Atualizacoes de seguranca - para stable e testing, apenas ##
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

##Enlightenment Window Manager 0.17 ##
deb http://edevelop.org/debian/ unstable main contrib non-free

Com esta configuração do ‘/etc/apt/sources.list’ nós estaría-mos instalando sempre a versão unstable dos pacotes, a menos que no momento da instalação fosse definida explicitamente a versão a ser usada: ‘# aptitude -t testing install <package_name>‘, pois a prioridade é sempre a última versão.

Para definir a prioridade para outra versão que não a ultima devemos configurar outro arquivo, o ‘/etc/apt/preferences’, neste arquivo podemos configurar a versão prioridade para cada pacote, ou para todo o sistema (utilizando-se um *, como no exemplo). O ‘Pin-Priority’ é um valor numérico que define a prioridade da versão, quanto maior o valor, maior a prioridade. Caso este arquivo não exista, apenas crie um novo.

Em meu ‘/etc/apt/preferences’ eu defini as prioridades na seguinte ordem: stable, testing e unstable:

arquivo ‘/etc/apt/preferences’

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=testing
Pin-Priority: 800

Package: *
Pin: release a=unstable
Pin-Priority: 700

Após configurar os arquivos corretamente atualize seu apt: ‘#aptitude update‘.

Com está configuração, todos seu pacotes serão mantidos na versão estável. Se um pacote não existe nesta versão ele será instalado na versão teste, caso também não exista na teste, será instalada a versão instável.

Assim, ao executar ‘#aptitude -t unstable install e17‘ será instalada a versão instável do Enlightenment, e suas dependências serão também atualizadas para a versão instável, conforme necessário. Ao executar ‘#aptitude upgrade‘ seus pacotes estáveis serão atualizados para última versão estável, quando necessário, e seus pacotes teste , ou instáveis, serão atualizações para suas respectivas versões.

Nota:

“Instalando pacotes de distribuições mais recentes, instalará suas bibliotecas também, o que pode acabar com você tendo as desvantagens da versão stable (programas desatualizados) assim como as desvantagens das versões testing e unstable (suporte não tão bom quanto na versão stable, bugs) sem as vantagens de ambos”

Como pode-se ver, pelo texto acima, extraído da wiki Debian, não é recomendado mesclar versões, contudo, em alguns casos, é preferível atualizar apenas os pacotes desejados do que todo seu sistema. Minha dica é: “se está funcionando bem, deixe estar, a menos que necessite da nova versão de algum programa”.

Fontes: http://wiki.debian.org/AptPinning

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Teclas Multimedia no X

Tags: , , , — June 8, 2007 @ 11:13 am

Muitos usuários GNU/Linux podem ter problemas com com teclados multimedia, onde as teclas não funcionam no ambiente X. Com os passos a seguir você poderá facilmente configurar seu teclado multimedia para as funções que desejar.

O problema do não conhecimento das teclas multimedia é que o servidor X não reconhece os códigos das teclas (keycodes) quando pressionados, então devemos configurar esses códigos corretamente, para isso, obtenha os códigos usando aplicativo ‘xev’.

Apenas execute o comando ‘$ xev‘ no terminal. Ao executá-lo, basta pressionar as teclas desejadas e obter o keycodes destas, a saída no terminal será mais ou menos como esta:

KeyRelease event, serial 31, synthetic NO, window 0×2800001,
root 0×7d, subw 0×0, time 2792224, (-22,86), root:(565,101),
state 0×10, keycode 160, same_screen YES,
XLookupString gives 0 bytes:

O valor ‘keycode’ é o que precisamos, neste exemplo, o keycode é 160. Para facilitar use o script a seguir:

xev | grep keycode | \
sed s/”^.*keycode *\([0-9]\+\).*$”/”keycode \1 = “/ | uniq

Execute os comandos e pressione em sequência as suas teclas multimedia e, após fechar o aplicativo xev você verá uma saída como a seguir:

keycode 36 =
keycode 144 =
keycode 162 =
keycode 164 =

Algumas vezes, como neste exemplo, você obterá um primeiro keycode que não é uma tecla multimedia, simplesmente a remova. Se você tiver obtido os keycodes na corretamente na saída, como acima, poderá prosseguir com a configuração dos keysyms no X, caso contrário veja a seguir.

Caso seu você não obtenha nenhuma saída no terminal após executar o xev, execute o comando ‘$ dmesg‘ no terminal. Você deverá ver algo como isto na saída:

atkbd.c: Unknown key released (translated set 2, code 0×96 on isa0060/serio0).
atkbd.c: Use ’setkeycodes e016 <keycode>’ to make it known.

Isso significa que seu kernel não possui keycodes mapeados dos ’scancodes’ de seu teclado. Assim você deverá adicionar uma linha no seu arquivo ‘/etc/rc.local‘ pra cada keycode que deseja adicionar, como a seguir:

Arquivo ‘/etc/rc.local’

setkeycodes e008 136
setkeycodes e016 150
… e assim por diante …

Onde o primeiro número (e008) é o que você vê no dmesg, e o segundo é um keycode não utilizado no seu kernel. Geralmente você pode obter keycodes válidos obtendo os últimos dois dígitos do primeiro número, converter de hexadecimal para decimal e adicionando 128.

Isto vai adicionar corretamente os keycodes a partir dos scancodes do teclado na inicialização do sistema, para adicioná-los sem reiniciar o sistema apenas rode ‘sh /etc/rc.local‘ no terminal. Depois disso, reinicie o X e tente usar o xev novamente.

Agora você precisará criar um arquivo que relacione os keycodes obtidos com sinais de teclas, ou keysyms. Crie um arquivo chamada ~/.Xmodmap e adicione as linhas como a seguir:

! Configuracoes de Teclas multimedia no X
! Use ! for comments

keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext

Uma lista com os keysyms possíveis pode ser encontrada no arquivo ‘/usr/share/X11/XKeysymDB‘, este é o caminho do arquivo no Debian, podendo variar em outras distribuições, relacione corretamente os keycodes obtidos com os respectivos keysyms (as linhas acima são apenas um exemplo, os códigos podem variar).

Agora adicione o comando a seguir no final de seu ~/.xinitrc, ou crie o arquivo, caso não exista:

/usr/bin/xmodmap ~/.Xmodmap

Caso deseje que os keysyms sejam carregados na sessão de qualquer usuário, adicione o comando acima no final de seu ‘/etc/X11/xinit/xinitrc‘ e mude o diretório do arquivo (como ‘/usr/bin/xmodmap /etc/X11/xinit/Xmodmap‘).

Depois disse, para definir funções para as teclas multimedia, basta adicionar os atalhos e funções correspondentes nas configurações de seu Gerenciador de Janelas.

Enlightement DR17

Painel de Controle -> Teclado -> Keybindinds

Xfce4

Settings Manager -> Teclado -> Atalhos

KDE

Painel de Controle -> Regional e Acessibilidade -> Atalhos do Teclado
ou no Kmix: Configurações -> Configure GlobalShortcuts

Fonte: http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys#Setting_up_xmodmap

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Next Page >>>