510100_204x275_333.pdf June 18, 2007 13:30:27 1 de 1 07/2007 XANDROS E MICROSOFT p.26 PADRÃO ABERTO p.27 TUX E PETRÓLEO p.22 O que muda para os A importância do formato Linux é o motor das clientes das companhias ODF para sua empresa pesquisas da Petrobras

#32 07/07 Linux Magazine R$ 13,90 € 7,50 Pensou 0 0 3 2 0

Certificação LPI, 009 venda proibida exemplar de pensou # 32 Assinante # 32 Julho 2007 Senac A REVISTA DO PROFISSIONAL DE TI 9 771806 942 GROUPWARE

IAE E CITADEL GROUPWARE p.31 PROMOVA A INTEGRAÇÃO DAS ATIVIDADES DE SUA EQUIPE,CONTROLE INFORMAÇÕES E ADMINISTRE PROJETOS COM LINUX E PODEROSAS FERRAMENTAS DE COLABORAÇÃO PES Z XPRESSO

» Expresso Livre: Workflows em PHP p.36 A certificação LPI está entre as mais procuradas » Funcionalidades ilimitadas: Citadel p.32 no mundo por profissionais da área de Tecnologia O IMBRA » Muito AJAX e praticidade: Zimbra p.40 da Informação, segundo o site Certcities.com, » OpenXchange: qualidade premiada p.44 especializado no tema. Conheça os novos cursos oferecidos pelo Senac L PENXCHANGE As provas do LPI são independentes de e torne-se um profissional certificado! distribuição e baseadas no Linux Standard Base, um conjunto de normas que mantém a compatibilidade entre as diferentes versões Certificação LPI nível 1 – LPIC1 D PI-2 e distribuições do sistema operacional. Certificação LPI nível 2 – LPIC2 BA . W EBIAN 4.0

O Senac São Paulo estabeleceu parceria com o LPI, tornando-se um LATP LPI Approved Training

Partner, Centro Autorizado de Treinamento LPI R IRESHARK para oferecer os cursos preparatórios para a certificação LPI. SAMBA E OPENLDAP p.66 UBY E GLADE Simplifique a autenticação VEJA TAMBÉM NESTA EDIÇÃO: integrando essas tecnologias » As novidades do Red Hat Global Desktop p.24 » Desenvolvimento gráfico fácil com Ruby e Glade p.72 WIRESHARK p.52 » 4, agora com instalador gráfico p.48 Como resolver problemas de rede Mais informações, acesse » Curso LPI: Primeira aula para LPIC-2 p.56 com o sucessor do Ethereal www.sp.senac.br/certificacoes 0800 883 2000 WWW.LINUXMAGAZINE.COM.BR © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Expediente editorial Diretor Geral Rafael Peregrino da Silva [email protected] Editor-chefe Tadeu Carmona Um bom motivo EDITORIAL [email protected] Editor Pablo Hess [email protected] Revisão Arali Lobo Gomes [email protected] Prezados leitores da Linux Magazine, Editor de Arte Renan Herrera [email protected] Certa vez, Theo de Raadt, o respeitado criador do seguríssimo OpenBSD, Centros de Competência afirmou que “quem usa Linux o faz porque odeia o Windows, quem Centro de Competência em Software: Oliver Frommel: [email protected] usa BSD o faz porque ama o Unix”. Na época, concordei parcialmente Kristian Kißling: [email protected] Peter Kreussel: [email protected] com a colocação, mas hoje não creio que ela ainda seja válida. Marcel Hilzinger: [email protected] Andrea Müller: [email protected] Recentes análises de mercado mostram que nos últimos anos o sis- tema operacional que mais perdeu espaço, com o pingüim ocupando Centro de Competência em Redes e Segurança: Achim Leitner: [email protected] sua fatia de mercado, foi o Unix. Entretanto, afirmo que ainda há um Jens-Christoph B.: [email protected] Hans-Georg Eßer: [email protected] aspecto real nas palavras de Theo. Usuários de Linux têm enorme Thomas L.: [email protected] Max Werner: [email protected] facilidade em se colocar à parte uns dos outros, seja por sua escolha Correspondentes & Colaboradores de distribuição ou de licença de software. Augusto Campos, Cezar Taurion, Charly A discussão em torno da terceira versão da GPL é saudável. Na Kühnast, Emanuel dos Reis Rodrigues, Fa- brizio Ciacchi, James Mohr, Joe Casad, Julian realidade, constitui um dos exemplos de que é possível evitar que Hein, Klaus Knopper, Luciano Siqueira, Mar- cel Hilzinger, Martin Steigerwald, Michael uma decisão obrigatória e essencial para todos os desenvolvedores de Schilli, Thomas Leichtenstern, Zack Brown Software Livre se transforme em uma flame war. Todavia, a escolha Anúncios: Rafael Peregrino da Silva (Brasil) por uma licença certamente divide desenvolvedores e usuários. [email protected] Tel.: +55 (0)11 4082 1300 A GPLv3 provavelmente tocará em outra importante divisão, que Fax: +55 (0)11 4082 1302 vem se formando em torno da realização de acordos entre fabricantes Osmund Schmidt (Alemanha, Áustria e Suíça) [email protected] de distribuições Linux. Novell, Xandros e agora fazem parte Brian Osborn (Outros países) de uma corrente que defende acordos com a Microsoft nos campos de [email protected] Assinaturas: propriedade intelectual e interoperabilidade, enquanto a , a www.linuxnewmedia.com.br Red Hat, a Mandriva e a maioria das distribuições Linux comunitárias [email protected] Na Internet: – senão todas –, no outro canto do ringue, afirmam que tais acordos www.linuxmagazine.com.br – Brasil são prejudiciais ao Linux. www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial Se a união faz a força, a desunião dos desenvolvedores e usuários www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá de Software Livre e de Código Aberto (SL/CA) já nos custou tem- www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia po e recursos. A Open Invention Network poderia ter sido criada há www.linux-magazine.co.uk – Reino Unido www.linux-magazin.ro – Romênia mais tempo, cuidando de proteger os interesses da indústria do SL/ Circulação CA antes que fossem desferidos ataques a esses softwares. Sistemas Cláudio Guilherme dos Santos de gerenciamento de pacotes unificados poderiam ter sido desenvol- [email protected] vidos muito antes, ampliando a penetração do Linux no mercado de Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a desktops, assim como a padronização dos ambientes desktop realizada editora não é responsável por eventuais impre- cisões nela contidas ou por conseqüências que pelo Freedesktop.org. advenham de seu uso. A utilização de qualquer De volta à gigante de Redmond, uma conseqüência dos já diversos material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qual- acordos firmados com distribuidores Linux seria uma interpretação, quer meio, em parte ou no todo, sem permissão por parte do mercado, de que responsáveis pelo sistema aberto reco- expressa da editora. Assume-se que qualquer correspondência recebida, tal como cartas, emails, nhecem que ele viola patentes da Microsoft. Seja esse reconhecimento faxes, fotografias, artigos e desenhos, são forneci- dos para publicação ou licenciamento a terceiros de falso ou verdadeiro, o fato é que o combate ao pingüim está sendo forma mundial não exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. direcionado, aparentemente, à dispersão da comunidade. Linux é uma marca registrada de Linus Torvalds. Ainda que a empresa de Bill Gates e Steve Ballmer não tenha Linux Magazine é publicada mensalmente por: sido, de fato, a principal concorrente do Linux no passado, sua atu- Linux New Media do Brasil Editora Ltda. Av. Fagundes Filho, 134 al estratégia de mercado pode render reduções na fatia de mercado Conj. 53 – Saúde 04304-000 – São Paulo – SP – Brasil ocupada pelo sistema livre. Tel.: +55 (0)11 4082 1300 Portanto, esse é mais um momento em que os interesses conjuntos Fax: +55 (0)11 4082 1302 Direitos Autorais e Marcas Registradas © 2004 - 2007: de todos os usuários e desenvolvedores de SL/CA devem preponderar Linux New Media do Brasil Editora Ltda. Distribuição: Distmag sobre as richas internas, e a união deve prevalecer; na pior das hipó- Impressão e Acabamento: Parma teses, para permitir que, no futuro, ainda tenhamos um sistema livre ISSN 1806-9428 Impresso no Brasil em torno do qual possamos nos digladiar.

INSTITUTO VERIFICADOR DE CIRCULAÇÃO Pablo Hess em processo de filiação Editor

Linux Magazine #32 | Julho de 2007 3 © Linux New Media do Brasil Editora Ltda. ÍNDICE

CAPA

Colaborar é preciso 31

Para sua equipe colaborar de forma realmente eficiente é ne-

cessário oferecer a ela as melhores ferramentas para isso.

Povoado de funcionalidades 32

O projeto Citadel oferece uma alternativa

para groupware fácil, estável e versátil.

Todos a bordo? 36

Derivado do E-Groupware, o Expresso Livre con-

serva a compatibilidade e ainda acrescenta re-

cursos importantes e interessantes.

Colaboração fácil 40

Um conjunto elegante de tecnologias de Código Aberto formam

o software de colaboração Zimbra. O Zimbra nasceu jun-

to com o florescimento de tecnologias como o AJAX.

Mudou para melhor? 44

Depois de vencer três importantes prêmios dos cenários de

Código Aberto e servidores, o Open-Xchange foi totalmen-

te reescrito e conta com novos recursos e nova arquitetura.

4 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Linux Magazine 32 | ÍNDICE

COLUNAS LPI nível 2: Aula 1 56 Conheça o kernel Linux e saiba como aplicar patches, con- Augusto Campos 08 fi gurá-lo, compilá-lo e manipular seus módulos. Charly Kühnast 10 Klaus Knopper 12 Zack Brown 14 NOTÍCIAS

Segurança 16 ➧ PHP

➧ PostgreSQL

➧ XScreenSaver ➧ Aircrack-ng SYSADMIN ➧ FreeType e X.Org Lista negra 62 O módulo Recent do Netfi lter cria uma lista negra tem- ➧ Quagga porária para manter sua rede livre de invasores. ➧ Ktorrent

Geral 18 ➧ A vez dos pequenos

➧ Mais segurança

➧ Slackware 12 a caminho

➧ Stoq homologado

➧ A Alemanha contra os hakers

Integrado é mais fácil 66 CORPORATE Se você acha entediante administrar múltiplas bases de au- tenticação, veja como integrar o Samba ao OpenLDAP Notícias 20 para gerenciar todas as bases de forma centralizada. ➧ Xandros avança posições Contrato com Asus Compra da Scalix

➧ Red Hat Brasil contrata executivo de relações com o Governo

➧ Microsoft fecha acordo de colaboração com a Linspire

Entrevista: Petrobras 22 Entrevista: Gerry Riveros 24 Reportagem: ODF 26 Entrevista: Andreas Typaldos 29 Coluna: Cezar Taurion 30 PROGRAMAÇÃO ANÁLISE Interface preciosa 72 Feliz Debian novo! 48 O desenvolvimento de aplicativos gráfi cos não deve- Um novo instalador gráfi co e várias ferramentas interessantes ria ser complicado. Veja como simplifi car esse pro- foram adicionados à última versão do famoso projeto Debian. cesso com Ruby e o utilitário Glade .

Tutorial Tubarão multiuso 52 Se você conhece bem os protocolos de rede, o Wireshark pos- sibilita encontrar rapidamente a raiz de muitos problemas. SERVIÇOS Editorial 03 Emails 06 Linux.local 78 Eventos 80 Índice de anunciantes 80 Preview 82

Linux Magazine #32 | Julho de 2007 5 © Linux New Media do Brasil Editora Ltda. Emails para o editor Permissão de Escrita Se você tem dúvidas sobre o mundo Linux, críticas ou sugestões que possam ajudar a melhorar a nossa revista, escreva para o seguinte endereço: [email protected]. Devido ao

volume de correspondência, é impossível responder a todas as sanja gjenero – www.sxc.hu EMAILS dúvidas sobre aplicativos, configurações e problemas de hardware que chegam à Redação, mas garantimos que elas são lidas e analisadas. As mais interessantes são publicadas nesta seção.

Problemas com O que faço? Vocês podem me ajudar? Comprei a revista na edição 30 e li a matéria Obrigado. “Insigne representante”, sobre o Insigne Li- Ricardo Oliva nux. O final da matéria informa que o Insigne Prezado Ricardo, parece que sua ferramenta não está Mágico é igual ao EasyUbuntu. Estou usando configurado-a corretamente, ou sua conexão à Internet o Ubuntu e não estou conseguindo instalar o não permitiu o acesso aos repositórios do Ubuntu. A EasyUbuntu. No site do programa recebi a se- primeira providência a tomar é abrir o arquivo de con- guinte orientação: figuração de repositórios, o /etc//sources.list com Abra uma sessão de terminal e digite os seguintes seu editor de textos preferido. Em seguida, descomente comandos, um por linha: os repositórios Multiverse do Ubuntu, e tente realizar o download novamente, desta vez com os comandos: sudo apt-get install subversion svn checkout svn://freecontrib.org/easyubuntu apt-get update && apt-get dist-upgrade cd easyubuntu/trunk && sudo python easyubuntu.in apt-get install subversion

➧ Digite sua senha e aperte a tecla Enter Além disso, parece que você pulou alguns passos ➧ Abra o terminal novamente e digite os seguintes na execução proposta no site oficial do EasyUbuntu comandos: (www.easyubuntu.freecontrib.org). Por exemplo, bai- xar o certificado GPG do programa é essencial para wget http://users.on.net/~goetz/EasyUbuntu/ a correta instalação do EasyUbuntu: ➥current.tar…. tar -xjf current.tar.bz2 wget q http://medibuntu.sos-sts.com/repo/ cd EasyUbuntu[tab] ➥medibuntu-key.gpg -O | sudo apt-key add – sudo python ./easyubuntu.in De qualquer maneira, algumas das funcionalida- ➧ Digite sua senha e aperte a tecla Enter. des do EasyUbuntu, como a capacidade de habilitar Ao executar o segundo passo, no entanto, surge o suporte 3D a placas de vídeo da ATI, parece já ter a seguinte mensagem: sido incorporado ao Ubuntu Feisty Fawn. ■

brotheroliva@desktop:~$ sudo apt-get install Errata ➥subversion O artigo O novo sistema de arquivos Ext4: Pronto para o futuro, pu- brotheroliva@desktop:~$ svn checkout svn:// blicado à página 57 da edição 31 da Linux Magazine, contém um erro na página 58. Onde foi dito que o sistema de arquivos Ext3 su- ➥freecontrib.org/easyubuntu porta arquivos com tamanho máximo de 8 TB, leia-se que o tamanho The program ‘svn’ is currently not installed. máximo do sistema de arquivos suportado pelo Ext3 é de 8 TB.

6 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Patentes de software Augusto Campos Para se posicionar é necessário entender o problema. por Augusto Campos COLUNA s softwares livres não são isentos de direito tada tem chances de se livrar de acusações de violação autoral. Pelo contrário: as licenças livres são – algo que pode ser muito importante para o Software Ocompletamente baseadas na (e sustentadas Livre, cujo código está sempre disponível para avaliação e pela) legislação de direitos autorais. comparação por qualquer interessado. Isso deu margem, Embora busquem proteções diferentes, softwares por exemplo, à ação movida pela SCO contra a IBM, livres e proprietários são cobertos por direitos autorais baseada em contratos e direito autoral. Caso as acusações da mesma forma, pela mesma legislação, com as mes- dela fossem comprovadas e se estabelecesse que parte do mas garantias. No caso específico do Brasil, a lei que código do Linux viola seus direitos autorais, uma reimple- estabelece o regime de proteção ao autor de softwares mentação desses trechos resolveria a questão dali para a é a lei 9.610, de 1998. frente, embora as conseqüências das distribuições ante- Já o suporte legal a patentes de software não existe riores à reimplementação pudessem perdurar. hoje no Brasil, assim como na maioria dos países do Já no caso de ações relacionadas a patentes, não é mundo. O assunto já foi discutido no nosso Legislativo qualquer reimplementação original que resolve a questão Federal, mas felizmente não foi aprovado. Por uma série – eventualmente, é necessário substituir completamente de razões, software continuou sendo matéria protegida um método. Além disso, há empresas cuja razão de exis- tência é exatamente a posse de patentes e seu uso para obter vantagens de desenvolvedores que as implementem Mais cedo ou mais tarde, um sem saber – usando para isso diversas técnicas conhecidas, ataque destes vai acontecer como patentes submarinas, secretas e outras. Mais cedo ou mais tarde, um ataque desses vai acon- contra um desenvolvedor tecer contra um desenvolvedor ou distribuidor de Linux, ou distribuidor de Linux. e todos teremos que lidar com a situação. O fato de o código ser aberto não é uma razão a mais de risco – gran- des empresas de código proprietário sofrem processos pelo direito autoral, conforme definido na centenária por alegadas infrações de patentes todos os anos. Convenção de Berna – que estabelece as bases do direito Mas há algo que podemos fazer para reduzir as chan- autoral internacional – sem as restrições adicionais do ces de que ocorra um processo como esse, e mesmo para modelo de patentes adotado nos EUA, e que diversos evitar que aconteça aqui em nosso país. A discussão sobre interessados tentam permanentemente “exportar” para a legalidade das patentes de software certamente voltará outros países. a ser insuflada por aqui, e quando chegar o momento, As diferenças entre o regime de proteção de direitos devemos reagir como indivíduos – votando em legisla- autorais e o de patentes são muitas, mas, do ponto de dores com ponto de vista bem definido sobre o assunto vista do desenvolvedor de Software Livre, há um ponto – e como comunidade, nos unindo na campanha contra crucial: se um Software Livre incluir uma rotina que essa redução da liberdade de criação de software. Esteja- reproduza uma idéia previamente patenteada por outra mos preparados! ■ pessoa ou empresa, reimplementar essa mesma rotina (ainda que seja “do zero”) pode não resolver o proble- ma, uma vez que a patente pode cobrir o método em O autor si, e não sua implementação. Augusto César Campos é administrador Com o copyright, direito autoral, a questão pode ser de TI e, desde 1996, mantém o site BR-linux. bem diferente, uma vez que ele protege a obra escrita, ou org, que cobre a cena do Software Livre no Bra- a implementação. Nesse caso, uma versão reimplemen- sil e no mundo.

8 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ��������� ��������� �������������������� ���������������� ����������������� �������������� �������� ����������������� �������������������������������������������������������������

��������������

����������������������������������� �������������������������

��������������������������������� ����������������������

� ���������������������������������� ������������ ������� ����������������������������� ����������������������������� ���������������� �������������������������������� ������������� �������������������������������� ������������������������������������������������������ ���������������������������������������������������������

�������������� © Linux New Media do Brasil Editora Ltda. ��������������

Coraid_LinuxProBrazil_ad_Einstien.indd 1 26.06.07 13:03:54 Conheça o ncdu, um clone do du Charly Kühnast

Nunca ouvi falar de um administrador ter tido que retirar discos de um servidor devido a uma falta crônica de dados, mas discos cheios são parte do trabalho diário. O clone do du, ncdu, ajuda a emagrecer seus dados. COLUNAS por Charly Kühnast

u uso o Nagios para acompanhar a capacidade Atalhos disponível nos discos rígidos de meus servidores. O ncdu aceita alguns atalhos de teclado. Por exemplo, ESempre que ele me informa que a capacidade pode-se pressionar [N] para alternar para a ordenação livre do servidor está abaixo do limite mágico de 10%, alfabética – o ncdu normalmente ordena por tamanho. eu sou avisado. Porém, isso não resolve o problema. Pressionar [N] duas vezes ativa a ordenação inversa. Se eu estiver sem sorte, todo o repositório de dados Há casos em que os diretórios parecem inócuos, pode estar num sistema RAID sem qualquer recurso pois o ncdu exibe alguns subdiretórios pouco volu- de particionamento, o que infelizmente é muito co- mosos no início da lista, mas prossiga para baixo e mum em servidores pequenos. você talvez encontre as gordas imagens de DVDs Com um pouco de sorte, o Nagios talvez de dezenas de distribuições Linux. Pressionando- me informe que a partição do diretório /var é a se [T], o ncdu ordenará os objetos pelo tamanho, grande culpada pelo excesso de conteúdo, per- sejam eles arquivos ou diretórios. mitindo-me executar o du e descobrir os arqui- É possível ainda alterar as unidades de tamanho de vos responsáveis. Infelizmente, a saída do du em unidades de 1000 para 1024, pressionando [P], embora árvores de diretórios complexas, como as que possa ser mais importante apertar [H] para mostrar os tenho, é pouquíssimo intuitiva. diretórios ocultos. É aí que entra o ncurses[1], o cavaleiro de ar- madura brilhante com a missão de cortar algumas Conclusões cabeças da hidra conhecida como Disk Usage. O Agora que me acostumei à ferramenta, o ncdu tem um ncdu[2], do holandês de 18 anos Yoran Heling, é espaço seguro em minha caixa de ferramenta, e o du um pequeno tarball de 91 KB. Os passos comuns foi definitivamente excluído. ./configure && make && make install rapidamente Aqueles que não apreciarem o visual monocromá- o põem de pé e a lutar. O ncdu oferece uma visão tico do ncdu podem conferir o link Similar projects no limpa do diretório atual (figura 1), e possibilita o website do ncdu[2], que inclui o gt5, auto-intitulado uso das teclas direcionais para navegar por sua ja- um “navegador para o du com funcionalidades de nela ncurses. diff”, o tdu, descrito por Heling como “outro pequeno utilitário de visualização de discos em ncurses”, duas ferramentas arbóreas em GTK (Treesize e Baobab) e por último o Firelight, que oferece “uma bela visualização de disco” no KDE. ■ Mais Informações [1] Ncurses: http://www.gnu.org/software/ncurses/ [2] Ncdu: http://dev.yorhel.nl/ncdu/

O autor Charly Kühnast é administrador de sistemas Unix no datacenter Moers, perto do famoso rio Figura 1 O ncdu é o que o du deveria ser. Ele oferece atalhos para Reno, na Alemanha. Lá ele cuida, principalmen- navegar pelos diretórios e alterar a ordenação dos resultados. te, dos firewalls.

10 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LinuxMagBRAZIL June07.qxp 5/25/07 3:04 PM Page 1

PENSE PARALELO

Novos Compiladores Intel® C++ e Fortran 10.0 Professional Editions Agora oferecem a melhor alternativa para criar aplicações multi-thread nos ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional Edition da Intel oferecem recursos de otimização avançado de código e potenciali- dades multi-threading que incluem vetorização, auto-paralelização, OpenMP*, prefetching de dados, desmembramento de loops e bibliotecas altamente otimizadas de rotinas multi-threading prontas, processamento matemático e de multimídia. O Compilador Intel 10.0 Professional Edition possui bibliotecas de software que permitem a você programar no ambiente paralelo como um especialista “Dentro de uma déca- desde o primeiro dia. Estas bibliotecas são constantemente atualizadas para uso da, um programador automáticos de funcionalidades dos novos processadores. que não pensar O compilador e bibliotecas são pré-validados para trabalharem juntos: “paralelo”, não será • Compiladores Intel® C++ e Fortran automaticamente paralelizam e otimizam seu código um programador.” para melhor desempenho, para tirar máximo proveito dos processadores multi-core, com o mínimo esforço. James Reinders • Bibliotecas Matemáticas Intel® MKL 9.1 oferecem funções matemáticas para o ambien Evangelista Chefe de Software te multi-thread com o melhor desempenho nas plataformas multi-core. da Intel Software Products • Intel® Integrated Performance Primitives 5.2 (somente para C++) são funções paralelas altamente otimizadas que aceleram o desenvolvimento de aplicações multimídia, de criptografia e de processamento de sinais. • Intel® Threading Building Blocks 1.1 (somente para C++) consiste de rotinas otimizadas e testadas para simplificar o desenvolvimento de aplicações escaláveis e robustas com a utilização de recursos multi-thread. TAKE THE NEXT STEP—

Tech Digital Katalogo Strattus (11) 5181-1852 0800 7729897 (11) 3531-6550 www.techdigital.com.br/intel www.katalogo.com.br/intel

Itautec MStech Copyright © 2007 Intel Corporation. Intel, the (11) 5080-3838 Intel logo, Intel. Leap ahead. and the Intel. 0800 121444 Leap ahead. logo are trademarks or registered trademarks of Intel Corporation or its sub- sidiaries in the United States and other coun- tries. All rights reserved.

© Linux New Media do Brasil Editora Ltda. Pergunte ao Klaus! Klaus Knopper

O criador do Knoppix responde as mais diversas dúvidas de leitores. por Klaus Knopper COLUNA 1280×1024 provavelmente têm alguma forma melhor para obter Você poderia me explicar por que o Knoppix e o Ubuntu boas resoluções em hardware mais novo. têm difi culdades com a detecção de hardware em chips gráfi cos Intel da série 845G e a resolução de 1280×1024 MySQL e Apache num monitor de 17 polegadas? Outras distribuições, Quando executo o Knoppix 5.0.1 ou 5.1.1 em meu sistema como SimplyMEPIS, Mandriva e Puppy iniciam sem normal, tudo parece funcionar. Porém, quando desligo, qualquer problema. o UnionFS demora de dois a três minutos até desligar Nos computadores da minha LAN, o Knoppix só a máquina. Isso me preocupa especialmente devido a consegue iniciar com uma resolução de 800×600, em meu disco rígido, com suas partições Ext3. um monitor LCD de 15 polegadas (que tem resolução Já notei que alguns outros sistemas não sofrem disso. máxima de 1024×768). Ainda uso o Knoppix 3.6 diariamente, com scripts bas- Sim, o modo gráfi co seguro funciona, lentamen- tante simples para fazer o MySQL e o Apache usarem te – principalmente a rodinha do mouse. E sim, sudo diretórios do meu disco rígido após iniciar pelo CD. -reconfigure xserver-xorg funciona, mas usuários Essa confi guração é um ótimo ambiente de desen- de desktop comuns não vão querer digitar esse coman- volvimento para mim. Não utilizo o Knoppix 5.1 porque do a cada inicialização pelo CD. ele só tem alguns vestígios do MySQL – imagino que tenha sido tirado para ceder espaço a outros aplicativos. Resposta: Talvez a culpa seja do DVD ; não verifi quei porque o A forma como o Knoppix descobre qual resolu- DVD parece iniciar muito mais lentamente. ção usar é um pouco estranha, mas tenta não quebrar nada. Se tanto a placa de vídeo quanto o monitor in- Resposta formarem que funcionam com resoluções maiores que O motivo da lentidão na desmontagem do Union- 1024×768, então a resolução que o monitor relatar como FS ainda é desconhecido para mim, mas o problema sua “preferida” (via DDC) será escolhida. Alguns moni- é bastante incômodo. tores retornam freqüências simplesmente erradas, e não Também estou investigando o assunto. Em todo funcionam no modo retornado. Nesses casos, o primeiro caso, tenho certeza de que seu disco rígido não está modo abaixo do relatado erroneamente é usado. quebrado, porque o problema também ocorre com pen Alguns monitores, como a maioria dos usados em drives e outros discos rígidos. Para se certifi car de que os notebooks, não informam qualquer capacidade. No dados sejam gravados no disco, você pode forçar a sin- caso deles, o modo “seguro” padrão de 1024×768/80Hz cronização dos sistemas de arquivos com a combinação é usado. Isso é visto com freqüência em notebooks, [Alt]+[PrintScreen]+[S] antes de desligar. mesmo que a placa gráfi ca informe poder usar reso- O MySQL ainda vem no DVD , que não deve ser luções maiores. muito mais lento do que um CD, pois a taxa de leitura Se você quiser, pode simplesmente forçar uma de DVDs é maior que a de um CD. A velocidade de resolução maior com o parâmetro screen= na ini- busca pode ser menor, mas depende somente de seu cialização, e então o único fator limitante será a leitor de DVD . ■ freqüência, que também pode ser forçada com os parâmetros hsync e vsync . Minha desculpa para essa forma grosseira de detec- O autor ção de vídeo é que não quero estragar monitores anti- Klaus Knopper é o criador do Knoppix e co-fun- ou prejudicar olhos com modos gráfi cos arriscados. dador do evento LinuxTag. Atualmente ele traba- Muitas outras distribuições são menos conservadoras e lha como professor, programador e consultor.

12 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Sua Revenda de Hospedagem já encheu? A melhor hospedagem do Brasil agora com a melhor revenda Linux, Windows e Mista. Gabarito

PLANOS DE REVENDA PLUGIN (com domínios ilimitados) LINUX WINDOWS MISTA Espaço Taxa de E-mails BD Preço Espaço Taxa de E-mails BD BD Preço Espaço Taxa de E-mails BD BD BD Preço em Disco Transf. My-SQL em Disco Transf. Access MS-SQL em Disco Transf. Access MS-SQL My-SQL STANDARDSTANDARD 5 50000 MMBB 1 100 GGBB 4 400 un.un. 5 un.un. R$R$ 65,0065,00 STANDARD 500 MB 10 GB 40 un. 4 un. 2 un. R$ 98,00 STANDARD 1 GB 25 GB 70 un. 8 un. 4 un. 8 un. R$ 170,00 PREMIUM 10 GB 250 GB 700 un. 80 un. R$ 500,00 PREMIUM 10 GB 250 GB 700 un. 80 un. 40 un. R$ 800,00 PREMIUM 10 GB 250 GB 700 un. 80 un. 40 un. 80 un. R$ 890,00 Páginas em PHP Páginas em ASP Páginas em ASP e PHP Planos intermediários consulte www.plugin.com.br

A Plug In tem vários motivos para ser a sua nova revenda de hospedagem: além de ter os pacotes mais atrativos do mercado, possui um grande diferencial, que é ter os serviços (sites, e-mail, base de dados e painel de controle) em servidores independentes, isso faz com que a Plug In garanta 99,9% de UPtime em suas aplicações de internet.

• Revenda - Linux, Windows e Mista Contrate agora mesmo uma Revenda Plug In e abra espaço para novos clientes. • Streaming - Conexões Ilimitadas • E-mail Marketing - Ações Segmentadas

Ligue e contrate: Contrate online:

500 MB 10 GB 40 un. 5 un. R$ 65,00 STANDARD 4003-1001 www.plugin.com.br

© Linux New Media do Brasil Editora Ltda. Crônicas do kernel Zack Brown Novas contribuições da Intel para reduzir o desperdício de energia e melhorar o suporte a suas placas de vídeo de quarta geração, questionamentos sobre a escalabilidade do kernel e mais problemas de remoção de drivers. Confi ra a agitada rotina da lista de desenvolvedores do kernel.

COLUNA por Zack Brown

PowerTOP suporte a vertex , geometry e fragment shaders .” Muitos Arjan van de Ven, da Intel, anunciou a nova ferramenta desenvolvedores fi caram felizes com as novas, e Jeff PowerTOP. Ela analisa todos os softwares em execução Garzik acrescentou que espera que a Intel produza no sistema, e relata como a energia está sendo usada. uma placa de vídeo de expansão (como PCI Express, Com o PowerTOP, é possível identifi car várias formas por exemplo) para abocanhar uma fatia de mercado de economizar energia num laptop. Os testes da Intel dos concorrentes de código proprietário. demonstraram diversas maneiras de melhorar a dura- ção da bateria de um laptop típico em mais de uma hora. Independente desses testes particulares, parece Escalabilidade do kernel Rajib Majumder recentemente perguntou se o Linux já é capaz de escalar para oito processadores. Tony Luck Christoph Lameter respondeu que sistemas com 512 e 1024 CPUs já estão profetizou que em produção, e já foi construído o protótipo de um sis- tema com 4096 CPUs. Christoph Lameter profetizou veremos sistemas que veremos sistemas Linux com 16384 processadores Linux com 16384 ainda em 2007. Mas Christoph também apontou que o hardware se torna um fator limitante signifi cativo quan- processadores do há muitas CPUs, e um bom sistema de arquivos (o ainda em 2007. XFS foi recomendado) é essencial.

claro que essa ferramenta será extremamente útil, Kernel do UMSDOS tanto para usuários comuns quanto para desenvolve- O UMSDOS já foi uma porta de entrada para o mundo dores de ferramentas que podem estar desperdiçando do Linux, mas foi removido do kernel desde a versão 2.6.11. energia inadvertidamente. Agora, qualquer programa No entanto, permaneceram resquícios do UMSDOS , de Código Aberto pode esperar patches para reduzir que foram eliminados por patches enviados por Jesper o consumo de energia. Daqui para a frente, todos os Juhl. Agora, os restos mortais do sistema são as entradas no usuários de laptops, independentemente de usarem arquivo CREDITS e os números usados por ele no ioctl. o PowerTOP ou não, deverão experimentar um au- Na realidade, os patches tentaram remover tam- mento signifi cativo da duração da bateria conforme os bém esses números, mas H. Peter Anvin lembrou programas forem atualizados com esses patches. que os ioctls não seriam alterados por qualquer outro código, mesmo que virassem zumbis. A última versão do patch documentou todos os Novo driver de vídeo da Intel ioctls do UMSDOS para que nenhum deles seja Keith Packard, da Intel, apresentou ao mundo um usado inadvertidamente por outro código. ■ novo driver para o chipset gráfi co 965GM Express O autor produzido pela empresa. Como ele colocou, o chipset A lista de discussão Linux-kernel é o núcleo das ati- “representa o primeiro produto móvel a implementar vidades de desenvolvimento do kernel. Zack Bro- a quarta geração da arquitetura gráfi ca da Intel. Pro- wn consegue se perder nesse oceano de mensa- jetado para suportar recursos avançados de renderi- gens e extrair signifi cado! Sua newsletter Kernel zação em APIs gráfi cas modernas, o chipset inclui o Traffi c esteve em atividade de 1999 a 2005.

14 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ������������� ���������������������

��������������������������������������������������������������������������������� ��������������������������������������������������������������������������������� ����������������������������������������������������������� �������������������������������������������������������� ���������������������������

����������������������������������������� ��������������������������������

© Linux New Media do Brasil Editora Ltda.

1/2f1easy.indd 2 26.06.07 10:29:11 ➧ PHP Foram descobertas várias vulnerabilidades remotas programação na função mb_parse_str() permite no PHP, uma linguagem de scripts incorporável em a ativação de register_globals() (CVE-2007-1583). HTML baseada no servidor, que podem levar à exe- A extensão de sessão mantém incorretamente a cução de código arbitrário. Um estouro no código contagem de referências de variáveis de sessão, o de manipulação de referências a objetos da função que permite a execução de código arbitrário (CVE- unserialize() permite a execução de código arbitrário 2007-1700). Uma vulnerabilidade de dupla libera-

SEGURANÇA caso a função receba uma entrada mal formada de ção de memória no código de gerenciamento de um aplicativo (CVE-2007-1286). Um estouro de intei- sessões permite a execução de código arbitrário ros na função substr_compare() permite a revelação (CVE-2007-1711). de informações da memória de fila (CVE-2007-1375). A função mail() não realiza validação suficiente dos A validação insuficiente das funções de memória cabeçalhos de email, permitindo assim a injeção dos compartilhada permite a revelação da memória de mesmos (CVE-2007-1718). A extensão para manipulação fila (CVE-2007-1376). de arquivos ZIP não realiza verificações suficientes de O manipulador de sessão não realiza validação comprimento, o que permite a execução de código ar- suficiente de valores de comprimento de nome de bitrário (CVE-2007-1777). Um estouro de buffer na ex- variáveis, o que permite a revelação de informações tensão sqlite permite a execução de código arbitrário através de um vazamento de informações da fila (CVE- (CVE-2007-1887). 2007-1380). A plataforma de filtragem também não O gerenciador de memória do PHP realiza uma realiza validação suficiente, permitindo a execução mudança de tipo incorreta, permitindo a execução de de código arbitrário por buffer underflow (CVE-2007- código arbitrário através de estouros de buffer (CVE-2007- 1453). Essa plataforma pode ser ignorada por um 1889). A validação incorreta da extensão de filtros de caractere especial em branco (CVE-2007-1454). Uma email permite a injeção de cabeçalhos de email (CVE- vulnerabilidade de dupla liberação de memória na 2007-1900). ■ função session_regenerate_id() permite a execução Referência no Debian: DSA-1283-1 de código arbitrário (CVE-2007-1521). Um erro de Referência no Ubuntu: USN-445-1

➧ PostgreSQL Referência no Red Hat: RHSA-2007:0337-2 Referência no Suse: SUSE- O PostgreSQL é um avançado siste- Referência no Ubuntu: USN-454-1 SR:2007:009 ma gerenciador de bancos de dados objeto-relacionais. Uma vulnerabilidade de caminho ➧ XScreenSaver ➧ Aircrack-ng de busca não confiável em versões Foi descoberto um problema na O Aircrack-ng contém um es- do PostgreSQL anteriores a 7.3.19, forma como o XScreenSaver, uma touro de buffer que pode levar 7.4.x anteriores a 7.4.17, 8.0.x an- coleção de protetores de tela, verifi- à execução remota de código ar- teriores a 8.0.13, 8.1.x anteriores a ca senhas de usuários. Quando um bitrário com privilégios de root. 8.1.9 e 8.2.x anteriores a 8.2.4 per- sistema está usando a autenticação O estouro de buffer baseado em mitem que usuários remotos auten- remota para o login, um agressor pilha no airodump-ng 0.7 permi- ticados, ao receberem a permissão local pode ser capaz de causar uma te que agressores remotos execu- de chamar uma função SECURITY interrupção na rede, fazendo o XS- tem código arbitrário através de DEFINER, obtenham os privilégios creen Saver fechar e destravando a pacotes de autenticação 802.11 do dono da função, relacionada às tela (CVE-2007-1859). ■ especialmente criados (CVE-2007- configurações de search_path (CVE- Referência no Mandriva: MDKSA- 2057). ■ 2007-2138). ■ 2007:097 Referência no Debian: DSA-1280-1 Referência no Mandriva: MDKSA- Referência no Red Hat: RHSA-2007- Referência no Gentoo: GLSA 200704- 2007:094 0322-4 16/aircrack-ng

16 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Segurança | NOTÍCIAS

➧ FreeType e X.org ➧ Quagga e uma negação de serviço. Uma A FreeType é uma biblioteca de O Quagga é um daemon de roteamento vulnerabilidade do tipo directory renderização de fontes True Type. livre que suporta os protocolos RIP, OSPF traversal no arquivo torrent.cpp O estouro de inteiros na função e BGP. O arquivo bgdp/bgp_attr.c das do KTorrent anterior à versão 2.1.2 bdfReadCharacters em bdfread. versões 0.98.6 e anteriores do Quagga, permite que agressores remotos c na libXfont do X.org anterior além da 0.99.6 e anteriores da série 0.99, sobrescrevam arquivos arbitrários à versão 20070403, e também não valida valores de comprimento nos através de seqüências .. no nome na FreeType 2.3.2 e anteriores atributos REACH_NLRI e MP_UNREACH_NLRI, de um arquivo de torrent. permite que usuários remotos permitindo que agressores remotos cau- A vulnerabilidade no arquivo autenticados executem código sem uma negação de serviço (fecha- torrent.cpp de versões do KTorrent arbitrário através de fontes BDF mento ou saída do daemon) através de anteriores a 2.1.3 apenas verificam a especialmente criadas, o que pode mensagens UPDATE especialmente criadas, cadeia de caracteres ... resultar em um estouro de fila as quais realizam um erro de asserção Um agressor poderia sobrescrever (CVE-2007-1351). ou uma leitura além dos limites (CVE- arquivos arbitrários através de seqüên- A extensão MISC-XC do X.org 2007-1995). ■ cias de .. modificadas em um arquivo não verifica corretamente o ta- Referência no Gentoo: GLSA 200705- de torrent, conforme demonstrado manho da memória alocada. Um 05/quagga por seqüências ../, devido a uma usuário autenticado poderia en- Referência no Mandriva: MDKSA- correção incompleta para CVE-2007- viar uma requisição X11 especial- 2007:096 1384 (CVE-2007-1384, CVE-2007-1385, mente criada e executar código CVE-2007-1799). ■ arbitrário com privilégios de root Referência no Gentoo: GLSA 200705- (CVE-2007-1003). ■ ➧ KTorrent 01/ktorrent Referência no Gentoo: GLSA 200705- O KTorrent é um cliente BitTor- Referência no Mandriva: MDKSA- 02/freetype rent para KDE. Foram descober- 2007:095 Referência no Slackware: SSA:2007- tas múltiplas vulnerabilidades Referência no Slackware: SSA:2007- 109-01 no cliente, permitindo a execu- 093-02 Referência no Ubuntu: USN-448-1 ção remota de código arbitrário Referência no Ubuntu: USN-436-1

Postura das principais distribuições Linux quanto à segurança Referência de Segurança Comentários Debian Info: www.debian.org/security Alertas de segurança recentes são colocados na homepage e Lista: lists.debian.org/debian-security-announce distribuídos como arquivos HTML com links para os patches. O Referência: DSA-… 1 anúncio também contém uma referência à lista de discussão. Gentoo Info: www.gentoo.org/security/en/glsa Os alertas de segurança são listados no site de seguran- Fórum: forums.gentoo.org ça da distribuição, com link na homepage. São distribuí- Lista: www.gentoo.org/main/en/lists.xml dos como páginas HTML e mostram os comandos necessá- Referência: GLSA: … 1 rios para baixar versões corrigidas dos softwares afetados. Mandriva Info: www.mandriva.com/security A Mandriva tem seu próprio site sobre segurança. Entre outras Lista: www1.mandrdrivalinux.com/en/flists.php3#2security coisas, inclui alertas e referência a listas de discussão. Os aler- Referência: MDKSA-… 1 tas são arquivos HTML, mas não há links para os patches. Red Hat Info: www.redhat.com/errata A Red Hat classifica os alertas de segurança como “Er- Lista: www.redhat.com/mailing-lists ratas”. Problemas com cada versão do Red Hat Li- Referência: RHSA-… 1 nux são agrupados. Os alertas são distribuídos na for- ma de páginas HTML com links para os patches. Slackware Info: www.slackware.com/security A página principal contém links para os arquivos da lis- Lista: www.slackware.com/lists (slackware-security) ta de discussão sobre segurança. Nenhuma informação adi- Referência: [slackware-security] … 1 cional sobre segurança no Slackware está disponível. Suse Info: www.novell.com/linux/security Após mudanças no site, não há mais um link para a página so- Lista: www.novell.com/linux/download/updates bre segurança, contendo informações sobre a lista de discussão Referência: suse-security-announce Referência: SUSE-SA … 1 e os alertas. Patches de segurança para cada versão do Suse são mostrados em vermelho na página de atualizações. Uma curta descrição da vulnerabilidade corrigida pelo patch é fornecida. 1 Todas as distribuições indicam, no assunto da mensagem, que o tema é segurança.

Linux Magazine #32 | Julho de 2007 17 © Linux New Media do Brasil Editora Ltda. ➧ A vez dos pequenos

O mês de junho foi cheio de surpresas para os aficionados tégico da Palm, na opinião desses mesmos especialistas, por gadgets, além dos usuários domésticos e – por que não? em atrelar as funcionalidades do produto ao Treo. – dos usuários corporativos de Linux. Em uma sucessão de Esse sensação de perplexidade com os destinos do anúncios bombásticos, três lançamentos de subnotebooks projeto Linux da Palm aumentaram quando a Asus, em

NOTÍCIAS de baixo custo, usando o Linux como sistema operacional, conjunto com a Intel, anunciou o lançamento do seu foram anunciados para antes do final do ano. Eee PC, subnotebook que será comercializado em duas A primeira empresa a pôr fogo nesse mercado – e versões e sob dois valores diferentes (U$ 199 e U$ 299). gerar várias discussões a respeito – foi a Palm, que no O Eee, além de preços mais atrativos do que os do Foleo, dia 30 de maio lançou o seu Palm Foleo (www.palm. contará com Flash disks com capacidade entre 4, 8 e 16 com/foleo), inaugurando GB, e 512 MB de memória RAM DDR-2 400. A distribui- uma subcategoria de dispo- ção Linux escolhida para equipar o produto Intel-Asus foi sitivos que a empresa cha- o Xandros Desktop (veja mais sobre a escalada da Xandros mou de mobile companion nas notícias do mês na seção Corporate). (acompanhante móvel). O Palm Foleo foi desenvol- Distribuição nacional vido para funcionar como Mas, é claro, existe muito mais gente apostando em um acompanhante para o subnotebooks a preços mais que módicos. É o caso Treo, o smartphone tam- da indiana Encore, fabricante de hardware que tem bém fabricado pela Palm. presença tradicional no mercado de placas de rede e Utiliza uma distribuição dispositivos Wi-fi do Brasil. Linux desenvolvida pela Batizado de Mobilis, o computador da Encore, com própria Palm e se integra ao processador de 400 MHz e 128 Mb de memória RAM, Treo por meio de conexão além de memórias de armazenamento Flash de até 2 Bluetooth. GB, promete desembarcar no Brasil a partir da segun- As críticas ao Foleo começaram no dia seguinte ao seu da semana de julho. A distribuição estará a cargo da lançamento. Especialistas em hardware e no mercado Polishop. Além da grande gama de possibilidades de de palmtops lançaram sérias dúvidas sobre o sucesso da conexão que o produto possui, incluindo USB, Wi-fi empreitada, ressaltando o alto custo do produto (preço e suporte a CDMA, o grande atrativo desse pequeno sugerido de US$ 500 nos Estados Unidos) e o erro estra- notável será seu preço: cerca de R$ 340,00. ■

➧ Mais segurança O NIC.br (Núcleo de Informação e Coordenação), ór- de técnicas de DNS Poisoning, técnica cracker que consiste gão do Comitê Gestor da Internet no Brasil, anunciou, no “envenenamento” de consultas ao servidores de DNS por em conjunto com a Febraban (Federação Brasileira dos meio de pacotes especialmente preparados, fazendo com Bancos) a criacão de um domínio seguro para opera- que uma consulta a um nome de domínio verdadeiro seja ções realizadas pelos bancos via Internet Banking. O atribuída a um endereço IP que não o legítimo. novo endereço utilizará o prefixo b.br e será baseado Os servidores DNS no mundo todo trabalham sob uma no protocolo de segurança DNSSEC (Domain Name base de árvore hierárquica, com servidores raiz reproduzin- System Security Extensions ou Extensões de Segurança do suas informações para servidores de resolução de nomes para Sistemas de Nomes de Domínios). secundários. Assim, o risco de disseminação de dados cor- O protocolo DNSSEC faz uso de criptografia e verifi- rompidos por um cracker para outros servidores da mesma cação de autenticidade de registros para criar um ambiente linha hierárquica, ou da linha hierárquica imediatamente controlado. No atual sistema, as operações podem ser inter- abaixo, continua sendo uma situação a ser cogitada no âm- ceptadas por um cracker, com rastreamento do IP do usuário bito da segurança de informação, e que a nova tecnologia e indução a realização de operacões em um site clonado. O de acesso a informações bancárias, apresentada no CIAB mesmo resultado pode ser obtido por atacantes com o uso 2007, ocorrido em junho passado, promete cobrir. ■

18 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Gerais | NOTÍCIAS

➧ Slackware 12 a caminho ➧ A Alemanha contra os hackers Foi lançada no dia 15/06 a primeira versão de desenvolvimento (Release Em uma decisão surpreendente, o Governo ale- Candidate 1), do Slackware 12 (www.slackware.com). Uma das distribuições mão resolveu alterar a sua Lei contra Crimes de mais antigas ainda em atividade, o Slackware passa, agora, a adotar um Informática. Anteriormente permissiva com rela- kernel da série 2.6 como padrão, além de trazer suporte a HAL (Hardware ção a ações de varredura de por portas abertas em Abstraction Layer), o que melhora em muito o funcionamento de periféricos servidores e redes remotas, a busca de sistemas de hardware, e uma das bases de servidores mais atualizadas contendo vulnerabilidades, testes com exploits e dentre as distribuições Linux, incluindo PHP 5 e Apache stress testings, a legislação daquele país passa a 2. O X.Org utilizado no Slackware passa a ser o 7.2, já com encarar a utilização, fabricação, programação e suporte nativo a Xgl e Compiz, o que tráz a possibilidade distribuição de ferramentas como atividade ilegal, de desktop 3D à já veterana distribuição. ■ passível de penas de até dez anos de reclusão. ➧ Stoq homologado Curiosamente a A Secretaria da Fazenda do Estado de SP, órgão responsável pela ade- lei alemã não trata quação de softwares e sistemas computacionais às normas da Portaria explicitamente de CAT-108, de 23/12/2003, acaba de finalizar o processo de homologação ferramentas de ata- do Stoq:Gestão Comercial Open Source. A Async, empresa responsável que DoS (Denial of pelo projeto, já iniciou os tramites para o processo de homologação em Service) e DDoS outros estados do Brasil. (Distributed Denial O Stoq é um conjunto de aplicativos para gestão comercial que já of Service), limitando-se a infrações virtuais mais “tra- dispõe de diversas das funcionalidades encontradas em solucões de au- dicionais”. De maneira similar, não há menção às tomação comercial proprietárias, como controle de vendas e estoque, distribuições Linux que agregam ferramentas como o funcionalidade de sistema CRM, apuracão de impostos e impressão nmap e o Wireshark em seus pacotes, nem a possíveis fiscal via ECF (Emissor de Cupom Fiscal). ■ exceções à regra agora vigente para elas. ■

© Linux New Media do Brasil Editora Ltda. ➧ Xandros avança posições A Xandros Inc, dona da distribuição homônima, contra eventuais processos por cobrança de direitos e que conta com vertentes voltadas para o merca- autorais. A Xandros e a Microsoft se propõe, tam- do de desktops (Xandros Desktop) e corporativo bém, por um período de cinco anos, a trabalhar ati- (Xandros Server) foi tema dos principais noticiá- vamente em soluções de interoperabilidade entre rios de tecnologia durante o transcorrer de todo aplicações corporativas e de rede (servidores) das o mês de junho, por conta de diversas linhas de duas empresas, incluindo protocolos de comunica-

CORPORATE ação adotadas. Essas ações parecem indicar a ção e situações de interpenetração entre soluções busca da Xandros, originária do Canadá, por um das duas empresas em ambientes nativos, online e posicionamento de mais destaque não só do mer- voltados para o segmento de aplicações 24×7 (alta cado de Linux, mas no mercado de know-how de disponibilidade). Além disso, as empresas se com- TI como um todo. prometem a operar, juntas, em ações de marketing A primeira das ações da Xandros talvez seja a de seus produtos. mais polêmica: no dia 04/06/2007 a Xandros anun- O presidente da Xandros, Andy Typaldo, comen- ciou um acordo de colaboração com a Microsoft, a tou, em entrevista dada ao site InformationWeek mais do que emblemáti- (http://www.informationweek.com) que a Xandros ca empresa criadora da trabalha “rumo a interoperabilidade”. Questio- plataforma Windows. nado sobre as possíveis restrições da nova versão O acordo envolve, ini- da licença GPL – a aguardada e controvertida cialmente, investimento GPL 3 – aos objetos do acordo, bem como ao em interoperabilidade uso de código aberto em software licenciado e de e proteção aos clientes código fechado, Typaldos foi enfático: “Se você é da Xandros contra infra- um homem de negócios, não se amedronta com ção de propriedade in- cada eventualidade”. telectual da Microsoft, Vale ressaltar que um dos principais motes das em algo que lembra o acordo Microsoft x Novell, distribuições Xandros sempre foi a sua facilidade em celebrado no final do ano passado. se conectar e obter dados de servidores Microsoft Apenas lembra: o acordo entre a empresa de como o Active Directory, ou trazer a integração entre Redmond e a Xandros tem nuances que vão além redes Windows e servidores Samba e OpenLDAP, da proteção de usuários dos sistemas da Xandros dentro de subredes Linux. ■

➧ Contrato com Asus ➧ Compra da Scalix Ao mesmo tempo, notas sobre o envolvimento da Xandros no projeto Notícias da compra da Scalix, Eee PC, parceria da Asus e Intel, começaram a se tornar públicas. Ao fabricante de uma solução Li- que consta, estabelece-se que o Eee PC (veja nossa seção de Notícias nux para tecnologia de colabo- gerais para mais informações, na página 18), em 3 versões diferentes, ração (groupware), sobretudo em poderá ser adquirido com Windows XP ou, como opção Linux, com serviços de email e calendário o Xandros Desktop. A Xandros distribuirá sistemas para instalação corporativos, pela Xandros Inc nos laptops e sublaptops EeePC sob o regime de comercialização foram repassadas, com exclusi- OEM (Original Equipment Manufacturer). Na prática, isso signifi- vidade, para a Linux Magazine. ca que o Xandros Desktop será vendido diretamente para a Asus para Entretanto, infelizmente ainda integração com o seu Eee PC, sendo vendido como um produto de não há informações mais deta- valor agregado para o consumidor final. Do ponto de vista técnico, a lhadas a respeito dos valores da adoção do modelo OEM pode significar uma maior integração entre compra, ou sequer sobre a forma o Xandros e o hardware da Asus, com ganho de percepção de valor como a empresa do grego Andre- para o usuário (tudo funciona de maneira integrada e transparente as Typaldos pretende utilizar as na sua camada) e para o mercado como um todo. O contrato entre a tecnologias da companhia re- Xandros e Asus gira em torno dos US$ 15 milhões. ■ cém-adquirida. ■

20 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Notícias | CORPORATE

➧ Red Hat Brasil contrata executivo de relações com o Governo A Red Hat Brasil, subsidiária local da Red Hat Inc., dade e comecei a trabalhar com as soluções Red líder mundial em soluções open source, anunciou Hat, que eu já considerava uma empresa pioneira a contratação de Ricardo Bimbo como executivo no desenvolvimento de soluções baseadas em Linux de relações com o Governo para a Red Hat Brasil. e em suporte especializado”, afirmou o executivo, Bimbo será responsável por expandir o alcance da formado em Ciências da Computação. Red Hat junto ao Governo e por ajudar a compa- “Aliando a experiência dele à da equipe de re- nhia a apoiar projetos e participar das discussões de lações com o governo da Red Hat, Bimbo vai aju- política pública de informática. dar a aproximar a empresa do governo brasileiro O executivo já soma oito anos de trabalho junto e fornecer um ótimo entendimento das necessi- à administração pública, passados quatro deles em dades governamentais”, Brasília. Nos últimos dois anos, foi gerente execu- diz Alejandro Chocolat, tivo de desenvolvimento e aplicativos da Cobra country manager da Red Tecnologia, onde coordenou projetos de migração Hat Brasil. no Banco do Brasil – considerado “o maior progra- A preocupação da Red ma de migração do mundo” - para Linux. Ricardo Hat em estreitar laços Bimbo também foi um dos responsáveis pela vinda com o Governo é coberta de fundamentos: o da certificação LPI (Linux Professional Institute) ao Brasil é o sétimo maior consumidor mundial de Brasil. Seus 13 anos de experiência com software livre software, com volumes de compra que são esti- iniciaram a partir de um trabalho como consultor, mados em cerca de S$ 10,4 bilhões por ano. De no qual buscava soluções para reduzir custos com 30% a 50% das compras negociadas são feitas pelo infra-estrutura. “Vi no open source essa possibili- setor público. ■

➧ Microsoft fecha acordo de colaboração com a Linspire No dia 13 de junho último foi anunciada a aproxi- da Microsoft a suas fontes TrueType ou cober- mação da Microsoft junto a mais uma empresa es- tura de patentes, acrescidas de interoperabili- pecializada em Linux. A parceira de acordo, dessa dade com computadores rodando o Microsoft vez, foi a Linspire Inc, desenvolvedora do Linspire, Windows”, afirmou logo após o acordo Kevin uma das primeiras distribuições Linux a ser comer- Carmony, CEO da Linspire. ■ cializada, pre-instalada em PCs, junto a rede de hipermercados Wal-Mart. O acordo entre as duas empresas prevê o licenciamento de tecnologias de pro- priedade da Microsoft para o Linspire. Dentre essas tecnologias, inclui-se fer- ramentas de conversação por voz dentro de instant messengers, utilizacão integral de codecs do Windows Media 10 – grupo que inclui as soluções Windows Media Player e Windows Media Center – fontes TrueType, dentre outras. Adicionalmente, a Microsoft oferece proteção aos usuários do Linspire contra possíveis violações de patentes praticadas pelo Linux. “Este acordo oferece aos usuários do Linspire muitas vantagens. Os usuários Linux não encontrarão, em qualquer outra distribuição, suporte ao Windows Media 10, genuíno suporte

Linux Magazine #32 | Julho de 2007 21 © Linux New Media do Brasil Editora Ltda. Carlos Albrecht, analista de sistemas do E&P da Petrobras. Toda a energia do Linux A área de Extração e Prospecção de petróleo da Petrobras faz intenso uso de softwares científicos, e foi pioneira no uso de clusters Linux no Brasil. por Pablo Hess

CORPORATE Linux Magazine» Quando e como experimentar o emprego do Linux em Em que momento eles receberam começou o envolvimento do setor outras aplicações além do X terminal. mais atenção? de exploração e prospecção de pe- Construíram também pequenas aplica- CA» Em 1997, o setor de produção de- tróleo com o Linux? ções, porém de forma ainda tímida – o senvolveu um projeto em parceria com Carlos Albrecht» Nosso interesse pelo Li- número de micros com Linux instalado, duas universidades paulistas, no qual a nux se iniciou entre 1993 e 1994, quando na época, era de cerca de 50. USP de São Carlos desenvolveria o hard- alguns de nossos funcionários descobri- ware e a Unicamp criaria o software para ram o sistema e quiseram conhecê-lo mais LM» O que limitava o uso do Linux portarmos para clusters um dos softwares profundamente. O principal uso que nessa época? dos quais dependíamos profundamen- imaginávamos para ele era a emulação CA» Certamente era a falta de aplicações. te. Esse projeto veio justamente como de terminais gráficos para as poderosas Até surgirem mais aplicações, nós tive- reflexo de nossa percepção de que a estações Unix que empregávamos para mos de desenvolver as nossas próprias. tecnologia de clusters tinha um ótimo processamento científico. Foi interessante perceber que, a partir de potencial para aumentar o desempenho Até então, utilizávamos um emu- um momento, os próprios fabricantes do aplicativo a um custo muito inferior lador de X terminal em sistemas Win- dos aplicativos de exploração e produ- ao da solução que possuíamos. dows®, e a possibilidade de eliminar- ção de petróleo mostraram interesse em Nosso primeiro cluster foi montado mos o custo desse componente era comercializar seus produtos também com dez nós – o que hoje parece pouco, muito atraente. Na realidade, nossa em plataforma Linux. De nosso ponto mas na época foi bastante desafiador. expectativa era de que o desempenho de vista, isso ocorreu principalmente Em 1999, devido ao baixo preço do pe- no Linux fosse superior ao do emu- lador em Windows, uma vez que o Linux, por ser um unix-like, possuía O fato de um um servidor X nativo. software ser pago não Em seguida, os usuários do Linux co- meçaram a se interessar ainda mais pelo tem relação direta sistema. O fator primordial, nessa época, com sua segurança foi a característica do código-fonte aberto ou eficiência. do sistema. Com isso, eles começaram a

pela diferença de custos de aquisição na tróleo, nosso setor não possuía muitos época. O Linux tinha custo baixíssimo, recursos para investir em TI. Com isso, e com freqüência chegava mesmo a ser o E&P (setor de extração e prospecção) gratuito, o que motivou não apenas a foi obrigado a utilizar não apenas uma Petrobras, mas provavelmente muitos plataforma de software com menor cus- outros clientes desses fornecedores a to, mas também economizar em hard- realizarem também essa migração. ware. Isso significava, além do uso de Software Livre, a montagem de novos LM» De acordo com a apresentação clusters de máquinas commodity (x86), de Luiz Monnerat, da Petrobras, no significativamente mais baratos que as último Linux Park, os clusters Beo- poderosas estações de antes. Figura 1 Carlos Albrecht, analista de sistemas do wulf também tiveram uma grande Esse segundo cluster possuía 73 nós E&P da Petrobras. importância nessa área da Petrobras. que, na aquisição, já não eram topo de

22 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. linha, embora também não fossem low- LM» Existe alguma estimativa do end. Nossa equipe interna novamente ganho de desempenho da atividade se dedicou a portar as aplicações de que vocês realizam nos clusters em migração sísmica, desenvolvidas in- comparação às plataformas proprie- ternamente, para esse cluster. Foi um tárias usadas antes? desafio que aceitamos, pois era bastante CA» Isso seria difícil quantificar, pois o promissor. O sucesso foi absoluto: não hardware, independentemente do Linux, tínhamos certeza de que o resultado evoluiu muito nesse período, assim como seria positivo, mas tínhamos confiança a quantidade de dados disponíveis. Antes na qualidade de nosso trabalho. tínhamos máquinas menos poderosas, porém a quantidade de dados a proces- LM» Nessa época, poucas empresas sar também era menor. conheciam o Linux, e muitas das que Nesse sentido, o uso do Linux conheciam não cogitavam seu uso em não determinou nosso desempenho. produção. Qual era o diferencial do A grande vantagem encontrada no E&P da Petrobras para permitir essa Linux, em nosso caso, é a escalabi- adoção tão grande do Linux? lidade dos clusters Beowulf, que nos CA» Nós não tínhamos preconceito. permite aumentar o desempenho de Não partíamos do princípio de que, forma praticamente linear com a adi- simplesmente por se tratar de um ção de novos nós aos clusters. sistema operacional de baixo custo rodando sobre hardware commodity, LM» O que você recomendaria para a solução seria ruim. gestores de TI que estejam pensan- Na medida em que verificamos do em adotar o Linux? que, mesmo com o aumento de CA» Planejar é fundamental. Antes de CPUs, nossas aplicações tinham alta realizar qualquer mudança em maior escalabilidade, percebemos que havia escala, é necessário que o gestor conheça uma grande demanda reprimida de bem as alternativas disponíveis e tenha poder de processamento. acesso a detalhes como vantagens e Assim, prosseguimos fazendo ou- desvantagens de cada uma delas. tros laboratórios e expandindo nossos É importante uma escolha muito clusters, e hoje temos cerca de nove bem orientada quanto à distribuição a mil processadores. ser adotada. O mais saudável é optar por apenas uma distribuição, pois isso facilita- LM» Mas grandes parques de máquinas rá muito a administração e manutenção demandam energia e espaço. Esses fa- das instalações. Naturalmente, é salutar tores não foram problemáticos? consultar os fornecedores dos aplicativos CA» De fatou, em um momento não importantes para a sua empresa quanto havia mais espaço para comportar- às distribuições suportadas por estes, a mos as máquinas que compunham fim de garantir a compatibilidade entre nossos sempre crescentes clusters, e os componentes de software. a demanda energética também se O fato de um software ser pago tornou maior do que nosso prédio não tem relação direta com sua se- suportava. Nesse ponto, tivemos que gurança ou eficiência. Além disso, alugar uma área maior, em outro os gestores devem se desfazer de seus CPD, e lá abrigamos a maioria dos preconceitos contra o Software Li- nós de processamento. vre. Além de ser um Unix – portan- Entretanto, nossos dados per- to, robusto e estável – o Linux tem maneceram armazenados no nosso custo muito menor do que as opções CPD, já que a maioria da análise concorrentes, o que não o torna uma sísmica não depende muito de I/O, pior alternativa, e sim uma opção e sim do processamento. muito melhor. ■

Linux Magazine #32 | Julho de 2007 © Linux New Media do Brasil Editora Ltda. Gerry Riveros, gerente de marketing da Red Hat Alcance global

Red Hat anuncia o Global Desktop em parceria com a Intel, com o objetivo de atender novos mercados. por Pablo Hess CORPORATE

Linux Magazine» Qual é o papel do globo, tanto em plataformas de hard- viamente, vem também com uma Global Desktop para a Red Hat? ware grandes quanto nas pequenas, e, subscrição de um ano para atuali- Gerry Riveros» Na Red Hat, nós quere- fundamentalmente, alterar a viabilidade zações de segurança. mos ver a adoção do Linux nos desktops financeira e a acessibilidade da tecno- Todavia, o Global Desktop sofrerá crescer mundialmente. Entretanto, acre- logia da informação de classe interna- uma rápida evolução. Seu ciclo de ditamos que não há valor na criação de cional. Com isso, pretendemos trazer desenvolvimento terá apenas doze um clone do Windows®. Para permitir mais pessoas para o mundo do Linux, meses, o que significa que nós iremos uma adoção mais ampla do Linux em oferecendo uma tecnologia melhor a liberar uma nova versão a cada ano. desktops, é necessário que seja oferecido preços acessíveis. Isso é mais rápido do que nosso ciclo um produto diferente, não um clone. Primeiramente, o Global Desktop de desenvolvimento, adotado nos Além disso, Ele precisa ser oferecido tem a aparência de um desktop tra- produtos enterprise de 24 meses. através de canais de distribuição mais abrangentes do que os tradicionalmente empregados no passado para o sistema ... pretendemos trazer aberto. Isso nos levou a criar o Red Hat mais pessoas para Global Desktop, que é projetado para alcançar todas as pessoas ao redor do o mundo do Linux, oferecendo uma tecnologia melhor a preços acessíveis.

dicional. Ele vem com tudo que se Temos Havoc Pennington como um pode esperar de um desktop Linux de nossos arquitetos-chefes de software, completo do ponto de vista do usu- e é possível conferir o que estamos pla- ário. Há o Firefox para navegação nejando fazer no Global Desktop em na Web, o Evolution para emails, o seu blog, no endereço log.ometer.com OpenOffice.org para edição de do- (recomendo especial atenção à entrada cumentos, o Pidgin para mensagens do último dia 3 de abril). Brian Stevens, Figura 1 Gerry Riveros, gerente de marketing da instantâneas etc. Nada foi removido nosso CTO, também falou sobre o que Red Hat ou prejudicado na distribuição. Ob- pretendemos fazer no futuro a esse res-

24 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Red Hat Global Desktop | CORPORATE

peito durante seu keynote no último Red implantado. Seu preço é calculado de ção para os montadores de sistemas lo- Hat Summit, em San Diego, EUA, há forma a se adequar ao orçamento dos cais. Criando essa parceria, nós vamos poucas semanas. clientes governamentais locais e peque- suportar as crescentes linhas de PCs da nas empresas. Intel, e expandir fortemente nossos ca- LM» Quais os diferenciais do Glo- Já o Windows Starter Edition é nais de distribuição, de forma a utilizar bal Desktop frente às outras ofertas projetado para usuários de PCs “de esses canais melhor do que já foi feito disponíveis no mercado? primeira viagem”, e tem limitações até o momento. GR» Há algumas características impor- de aplicações e de funcionalidades tantes no RH Global Desktop. grandes demais para ter utilidade LM» Quanto aos serviços online Primeiro, firmamos uma parceria nesse mercado. O Global Desktop – incluindo os da Red Hat – o que com a Intel, que é um dos líderes do não tem limitações artificiais. Ele o Global Desktop traz de novo? mercado OEM de desktops. O motivo fornece uma experiência desktop GR» Nosso produto fornece o conjunto de nosso trabalho conjunto é o vasto completa e desimpedida. padrão de ferramentas de produtivida- canal de montadoras de sistemas que Por último temos o Linux gratuito de que seu público alvo (reiterando, ela possui, o que nos permite expandir ou o Windows pirata. Esses produtos governos locais e pequenas empresas) muito o alcance de nosso produto. limitam as possibilidades de suporte do espera. Em versões futuras, vamos oti- Isso também nos permite suportar o crescente número de plataformas de hardware de baixo custo que eles estão O Global Desktop criando para esses mercados. é certificado e Em segundo lugar, nós projetamos e determinamos o preço do Global apoiado por dois Desktop de forma a possibilitar aos ven- grandes nomes da dedores de computadores a obtenção indústria de TI. de lucros com as vendas. Criamos um modelo de negócios sustentável que nos permite oferecer um produto amigável cliente, e não têm o apoio de marcas mizá-lo para que trabalhe com serviços aos canais, e que também fornece um importantes às quais o cliente possa online. Se você verificar as tendências conjunto de recursos adequado ao usuá- confiar suas necessidades computacio- de tecnologia, verá que mais e mais rio final, além do sistema de distribuição, nais. Como eu afirmei antes, o Global aplicações estão sendo transferidas suporte, certificações e preços competi- Desktop é certificado e apoiado por dois para um modelo no qual são acessadas tivos de que os vendedores necessitam. grandes nomes da indústria de TI. pela Web. As tecnologias que criarmos E tudo isso é proporcionado por duas com a comunidade ao redor de um das maiores marcas da indústria mun- LM» Que tipos de empresas podem “desktop online” serão adotadas nessas dial de TI – Red Hat e Intel. ter mais benefícios com essa nova futuras versões do produto. oferta? LM» Atualmente, quais são os prin- GR» O Global Desktop é direcionado a LM» Haverá alguma política espe- cipais concorrentes do produto? governos locais e pequenas empresas. cial de preços para países em de- GR» Neste momento, os vendedores de A maioria desses clientes compram senvolvimento? computadores possuem as seguintes máquinas de vendedores pequenos, GR» Ainda não anunciamos os preços opções ao montar um sistema para um e foi por isso que criamos essa parce- do Global Desktop. Entretanto, nosso governo local ou um cliente pequeno: ria com a Intel. Ela nos oferece um desktop corporativo, o Red Hat Enter- Em primeiro lugar, o Windows Vista. alcance sem precedentes em todo o prise Linux Desktop, é vendido por 80 Tem preço alto demais para o orçamen- planeta. Esses vendedores entendem dólares por ano. O novo produto custará to desses clientes, e tem exigências de perfeitamente as necessidades desse menos da metade disso. O ponto-cha- hardware muito grandes, o que significa mercado, e sabem melhor do que ve, no entanto, é estabelecer um preço que o cliente precisa adquirir máquinas qualquer outro o que seus clientes adequado para que os montadores de mais poderosas do que seu orçamento podem pagar. sistemas possam criar negócios lucra- permite. O Global Desktop possui requi- Nosso parceiro, a Intel, tem grande tivos com sua venda, os usuários finais sitos de hardware mínimos, oferecendo competência para criar PCs direciona- obtenham grande valor a partir dele, ao cliente uma vasta gama de opções dos a esses mercados, e também para e tenhamos um modelo de negócios para o tipo de sistema em que pode ser acionar esse enorme canal de distribui- sustentável para fornecê-lo. ■

Linux Magazine #32 | Julho de 2007 25 © Linux New Media do Brasil Editora Ltda. ODF e padrão aberto Os dados em suas mãos

Um formato de documentos de escritório é muito mais do que apenas um conjunto de regras. Entenda a importância de formatos padronizados e abertos para

CORPORATE o presente e o futuro das informações que geramos. por Jomar Silva

s formatos de arquivos de usuários – ao conjunto de aplica- problema afeta ainda empresas e documentos eletrônicos, tivos de escritório. outras organizações que utilizam O comumente textos, apre- Isso se torna ainda mais grave documentos eletrônicos. sentações e planilhas, sempre fo- quando se imagina que governos Esse cenário apresentado é pre- ram os responsáveis pela decisão geram e manipulam documentos ocupante, mas ainda não repre- de utilização e compra de um ou de interesse público diariamente, senta a realidade, pois considera outro conjunto de programas de e têm realizado essa manipulação os documentos como instâncias escritório. Por serem proprietários através de ferramentas proprietá- estáticas. Quando levamos em e armazenados em formato biná- rias. Com isso, tornam-se os maio- conta a dinâmica dos documentos rio, esses arquivos só podem ser res compradores de licenças des- eletrônicos, o problema fica ainda lidos e editados pelos aplicativos sas ferramentas, atuando também maior, pois entra em cena a falta (em versões específicas) que foram como indutores de mercado, pois de interoperabilidade. utilizados para a sua criação. Com ao trocarem esses arquivos com a a expansão da Internet na última população, forçam-nos a ter uma década e o aumento de troca de licença da mesma ferramenta. Interoperabilidade documentos editáveis em formato É importante lembrar que parte Qualquer pessoa já recebeu ou eletrônico observado, a competi- desses documentos deverão estar dis- enviou algum arquivo eletrônico tividade desse mercado pratica- poníveis para acesso pelas próximas que não pôde ser aberto pelo in- mente desapareceu, tornando-o décadas, e então somos obrigados terlocutor por falta da ferramenta praticamente monopolizado por a esperar que a empresa que fabri- adequada, ou por uma versão in- um único produto. ca o respectivo software também compatível da ferramenta. Cabe Pode-se argumentar que “os o esteja, e continue a desenvolver aqui o argumento de que o custo mais fortes sobrevivem”, e que seu produto por um preço acessí- disso é marginal e quantifi cável – essa é a lei da natureza. Embora vel. Ainda assim, estaremos todos o que nem sempre é verdade. seja válido, esse argumento não presos a apenas um fornecedor e, Quando houve o tsunami na Ásia, leva em consideração um pequeno dado o volume de informações milhares de pessoas morreram detalhe: o aprisionamento – dos que teremos colecionado, a troca aguardando ajuda humanitária, arquivos e, por conseqüência, dos será absolutamente inviável. Esse enquanto ONGs e autoridades

26 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ODF | CORPORATE

governamentais se debatiam com informações oriundas de todo o Ambos o aprovaram com unani- problemas de interoperabilidade mundo conhecido à época, em midade como um padrão inter- entre arquivos gerados por con- áreas diversas como Geometria, nacional, conferindo-lhe o nome juntos de aplicativos de escri- Astronomia e Medicina, pratica- de ISO/IEC 26300. tório. Tais problemas foram de mente nenhum foi preservado após O ODF é considerado um pa- fato resolvidos em algumas horas o incêndio ocorrido na biblioteca. drão aberto por ser disponível e – ou dias, em alguns casos – com Ninguém imaginava, na época, poder ser implementado em sua o custo de vidas humanas. Será que uma construção como aquela totalidade de forma gratuita, permi- que isso é quantíficável? pudesse ser totalmente destruída, tindo assim que qualquer empresa Além de governos e empresas, da mesma forma que não imagi- ou indivíduo desenvolva produtos a falta de interoperabilidade afeta namos hoje que os aplicativos de de software que os manipulem per- também as pessoas comuns. Uma escritório proprietários que uti- feitamente. Atualmente, existem recente pesquisa mostra que apro- lizamos possam deixar de existir mais de vinte aplicativos livres e ximadamente 10% das informações algum dia. proprietários que já o fazem – com disponíveis para a humanidade já especial ênfase ao OpenOffice.org, estão digitalizadas e disponíveis na que o usa como padrão – além de Internet, e que esse volume está A solução uma grande quantidade de biblio- crescendo de forma exponencial. Para permitir a interoperabilidade tecas e utilitários para o mesmo A pergunta que fica é se o formato de arquivos entre diferentes pa- fim. Novas aplicações e formas de utilizado para isso permite que es- cotes de escritório e plataformas uso de arquivos ODF são desco- sas informações estejam disponíveis operacionais, e ainda garantir o bertas a cada dia por profissionais daqui a 20 ou 30 anos. acesso às informações armazena- e empresas de TI. das em arquivos eletrônicos, foi No entanto, as grandes inovações criado o Open Document Format possibilitadas pelo ODF ainda es- Exemplos (ODF). O ODF é um formato tão por vir. Nossa criatividade na De certa forma, a humanidade aberto de arquivo, baseado em utilização do padrão e dos arquivos já foi vítima disso pelo menos XML, para armazenamento de do- ainda está limitada, pois ainda não em duas ocasiões. Os inúmeros cumentos de escritório editáveis, utilizamos toda a flexibilidade que hieróglifos contidos nos papiros como textos, planilhas, gráficos e um padrão aberto de arquivos de do Egito Antigo, por terem sido apresentações. Ele é independente escritório oferece. gravados por uma civilização poste- de aplicativo, e padronizado por Os exemplos de aplicações riormente extinta, permaneceram uma entidade internacional neu- mais simples são a integração do ininteligíveis para os povos que tra chamada OASIS (Organization ODF a aplicativos legados, como vieram depois. Apenas em 1822 a for the Advancement of Structured aqueles de emissão de relatórios Pedra de Rosetta, na qual estava Information Standards), com a através de arquivos texto, ou sua entalhado um mesmo texto em participação de diversas organi- utilização como integração entre hieróglifos e outras duas línguas zações – empresas e comunidade sistemas legados para automação – e escritas – diferentes, uma das – envolvidas no desenvolvimento na captura de informações, como quais conhecida por estudiosos, de aplicativos para automação o preenchimento de formulários permitiu que compreendêssemos de escritórios. Após mais de dois eletrônicos e seu processamento todo o legado de cultura e infor- anos de trabalho e discussão, o automatizado. mação deixado por essa interes- padrão foi finalmente aprovado Este artigo não tem pretensão sante civilização. em 1º de maio de 2005, com sua técnica, mas, apenas para ilustrar Outra ocasião de falta de con- especificação contendo pouco a acessibilidade do formato ODF, tinuidade de informações ocorreu mais do que 700 páginas. sugiro que os leitores extraiam com com a destruição da Biblioteca Em 16 de novembro de 2005, um descompactador ZIP o conteúdo de Alexandria, que representou, o formato foi encaminhado para de um arquivo de texto ODF (.odt). durante quase mil anos, um por- análise, através do processo cha- Uma série de diretórios e arquivos to seguro para armazenar grande mado FastTrack, à ISO (Interna- XML com nomes bem sugestivos parte do conhecimento da Hu- tional Organization for Standar- serão criados. Com um pouco de manidade. Dos 1 milhão de pa- dization) e ao IEC (International investigação é possível entender a piros lá depositados, contendo Electrotechnical Commission). formatação do texto. ➧

Linux Magazine #32 | Julho de 2007 27 © Linux New Media do Brasil Editora Ltda. CORPORATE | ODF

Benefícios zação do ODF, que já começa a Um ano após o início efetivo O maior benefício do ODF é a ser empregado como padrão em dos trabalhos, foi aprovada a versão liberdade de escolha. Quando alguns estados. final do padrão ECMA-376 (Open- geramos um arquivo ODF e o Ainda no Brasil, a ABNT tem XML), cuja descrição trata apenas enviamos a alguém, estamos de- um grupo de trabalho que está tra- de “formatos binários definidos pela finitivamente dando-lhe o acesso duzindo a norma ISO/IEC 26300 Microsoft Corporation”. No mesmo a essas informações, sem obrigar a para que seja incorporada como mês ele foi submetido à ISO/IEC pessoa a ter o software específico uma norma ABNT (NBR) e possa para discussão e votação como um para conseguir acessá-las. Na re- ser utilizada legalmente como re- padrão internacional através do pro- alidade, nem mesmo é necessário ferência em legislações e licitações cesso FastTrack. algum software instalado, uma vez públicas no país. O Brasil é um dos países com di- que há aplicações Web capazes de Esse trabalho está sendo coor- reito a voto a esse respeito na ISO manipular arquivos ODF – entre denado pela ODF Alliance [1], e, através da ABNT, vai declarar sua elas o Google Docs. uma organização sem fins lucra- posição quanto ao pedido do ECMA. O respeito a essa liberdade de es- tivos, criada nos EUA em março Na ABNT, a comissão de estudo in- colha é recomendável para os indiví- de 2006, com a missão de difundir titulada CE-21:034.00, dentro do seu duos, estratégica para as empresas e mundialmente o padrão ODF, com Grupo de Trabalho 2, irá discutir e obrigatória para os governos. ênfase na difusão junto a governos, decidir, com base em argumentos Proponho aqui uma breve re- por pessoas que elaboram políticas técnicos, o voto brasileiro, que em flexão. É justo que um governo de armazenamento e tratamento última análise é o voto de cada um obrigue o cidadão a usar somente de informações e gestores de TI. dos cidadãos do país. calças azuis e camisas brancas para Pouco mais de um ano após a sua O grupo da ABNT é aberto a entrar em contato com ele? Pode fundação (com aproximadamen- qualquer empresa ou organiza- obrigá-lo a utilizar um telefone te 30 membros), a ODF Alliance ção que pretenda contribuir de celular de uma marca específica conta atualmente com mais de forma efetiva para a discussão para falar com ele? 370 empresas e entidades (socie- sobre o OpenXML. Da mesma forma, um governo dade e governos) filiadas de mais pode obrigar o cidadão a ter uma de 50 países. licença de um determinado soft- O Chapter Brasil da ODF Alliance Como se envolver ware para acessar informações pú- [1] (primeiro da América Latina) foi Se você pretende contribuir com blicas? Ele pode utilizar os tributos criado em abril deste ano por uma as discussões em torno do voto pagos pelo contribuinte para com- iniciativa das empresas IBM, Sun brasileiro sobre o OpenXML, prar licenças de um determinado Microsystems e Red Hat. procure sua entidade de classe, software, única e exclusivamente universidade ou a direção de sua por ter todos os seus documentos empresa, apresente-lhe a questão armazenados em um formato pro- OpenXML que está sendo discutida e entre prietário, mesmo já existindo uma No dia 15 de novembro de 2005, em contato com a ABNT[2], que alternativa aberta de armazenamen- a Microsoft submeteu ao ECMA lhe fornecerá as informações ne- to para os mesmos? (European Computer Manufactu- cessárias para que você possa ser O governo federal da Itália já rers Association) um pedido para representado nessa discussão. deu uma resposta concreta a isso, a criação de um comitê para o de- O site da ODF Alliance contém tornando o ODF o padrão de ar- senvolvimento do padrão aberto muitas informações e links sobre mazenamento de documentos de armazenamento de documen- ODF, e é possível filiar gratuita- governamentais em todo o país tos Office Open XML. A proposta mente sua empresa ou organização e servindo como exemplo para foi aceita e o comitê foi criado a essa entidade. ■ a Comunidade Européia, que em seguida. discute atualmente essa questão Um mês depois, a Microsoft Mais Informações com muita seriedade. Em diver- submeteu o rascunho inicial de sos outros países há legislações 2.000 páginas, contendo a espe- [1] ODF Alliance: http://www.odfalliance.org semelhantes em processo final de cificação XML de arquivos gera- discussão e aprovação. No Brasil, dos por seu pacote de escritório [2] ABNT: o ePING já recomenda a utili- Microsoft Office. http://www.abnt.org.br

28 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Andreas Typaldos, CEO da Xandros Inc. Interoperabilidade CORPORATE crescente A Microsoft firmou mais uma parceria de colaboração em campos estratégicos com um fornecedor de Linux. O CEO da Xandros esclarece o que esse acordo pode acrescentar para seus clientes. por Pablo Hess

Linux Magazine» De que forma o acordo cendo o marcante foco da Xandros em patamar de interoperabilidade Windows- entre a Xandros e a Microsoft difere ferramentas de gerenciamento multi-pla- Linux no campo dos servidores. daquele firmado entre a Novell e a taforma, nosso acordo com a Microsoft empresa de Redmond? O que exata- dá especial atenção aos avanços nas tec- LM» Especificamente na América Latina, mente está envolvido? nologias de gerenciamento de sistemas, o que podemos esperar a partir de agora Andreas Typaldos» Nosso acordo é bas- de forma a reduzir significativamente quanto à presença da Xandros? tante extenso, e cobre áreas de interesse os custos operacionais de grandes redes AT» A Xandros está no Brasil há pouco mútuo das duas empresas. Primeiramen- mistas de computadores. mais de um ano. Nesse período, conse- te, trata da oferta de funcionalidades Em particular, a Xandros oferecerá guimos estabelecer presença no merca- de gerenciamento heterogêneo que agentes de gerenciamento que funcio- do corporativo como um dos líderes em funcionarão com a próxima geração do nam com a próxima geração dos produ- nosso nicho. Nossos prospectos e nossa Microsoft System Center e com o Xan- tos Microsoft Systems Center Operations lista de clientes continuam crescendo, dros Systems Management. Além disso, Manager, e estamos muito entusiasmados e em breve traremos mais notícias de a Xandros licenciará diversos protocolos com as oportunidades que isso abre. de comunicação de servidores, o que nos permitirá interoperar competentemente LM» No campo da propriedade inte- Nossa parceria com o Windows® Server. O terceiro item lectual, quais os aspectos envolvidos do acordo é o trabalho conjunto das duas na parceria? nos permitirá empresas e outras parceiras com fins de AT» Um dos principais focos de nossa observar “sob melhorar a interoperabilidade entre do- distribuição sempre foi a interoperabi- o capô”, para cumentos sob os formatos OpenXML lidade. Através do licenciamento de e ODF. A proteção aos clientes contra uma vasta gama de protocolos de co- irmos além do processos por patentes também está municação de propriedade da Micro- nível da API. incluída, e a Microsoft se compromete soft, a Xandros vai criar uma verdadeira a divulgar as distribuições Xandros Ser- interoperabilidade de ferramentas de ver e Desktop como distribuições Linux gerenciamento multi-plataforma para nossos sucessos na região, pois nos apro- preferidas, com base em suas impor- Windows e Linux. ximamos agora de mercados como Ar- tantes garantias de interoperabilidade Nossa motivação é que, no caso da gentina e México e estamos organizando e propriedade intelectual. Por último, interoperabilidade entre servidores e simpósios para o fim do ano. Também uma equipe especializada da Microsoft desktops, a integração que implementa- pretendemos entrar nos mercados de receberá treinamento a respeito do valor mos no nível da API com o BridgeWays Chile, Colômbia, Peru e América Cen- de nossa colaboração. é poderosa, mas requer o conhecimen- tral nos próximos 18 meses. Apesar de não ser possível compararmos to de maiores detalhes das tecnologias A América Latina é um mercado im- precisamente os dois acordos firmados pela proprietárias da Microsoft para atingir portante e promissor para a Xandros, e Microsoft, ambos possuem elementos de resultados verdadeiramente positivos de estamos firmando fortes parcerias para colaboração que permitirão um alto nível eficiência e compatibilidade. alcançar cada vez mais clientes. de interoperabilidade técnica, e criarão Por isso, nossa parceria nos permitirá Como já afirmei numa entrevista uma ponte entre o software de Código observar “sob o capô”, para irmos além anterior à Linux Magazine, a Xan- Aberto e o software comercial. Reconhe- do nível da API e atingirmos um novo dros veio para ficar. ■

Linux Magazine #32| Julho de 2007 29 © Linux New Media do Brasil Editora Ltda. OS Think Tank Cezar Taurion

m março deste ano ocorreu o 2º Open Source empresas de software, causando o temor de que acabem ThinkTank nos EUA. O evento reuniu mais de gerando conflitos entre os interesses de seus novos em- cem executivos, entre CEOs e CTOs de 80 pregadores e os da comunidade que lideram.

CORPORATE E empresas do mundo do Código Aberto, para debater o Uma das principais conclusões da sessão sobre futuro. O próprio tema do evento diz isso claramente: licenciamento foi de que cada modelo de negócio The Future of Commercial Open Source. baseado em Código Aberto requer determinadas Foram diversos painéis e sessões de brainstorming. No características de licenciamento. A proliferação de painel dos CIOs, as principais conclusões foram que o licenças de Código Aberto incompatíveis entre si é Código Aberto já é visto como uma opção viável, e já não um problema a ser resolvido. Por exemplo, foi citado existe hesitação por parte desses gestores em analisarem as que softwares GPL não podem ser usados com soft- opções de Código Aberto, desde que as funcionalidades wares distribuídos sob licenças Apache ou Eclipse. do software sejam adequadas. Entretanto, muitos ainda Além disso, os termos das licenças continuam muito têm receio de adotar os softwares de Código Aberto que confusos. Poucos conseguem de fato entender o que não tenham construído um ecossistema de apoio consis- esses termos querem dizer. Além disso, há um receio tente e saudável, com diversidade de ofertas de suporte e de que a GPLv3 acabe gerando forks entre softwares que manterão a GPLv2 e que tenham componentes ou bibliotecas que adotem a nova versão. O momento romântico Uma terceira sessão de brainstorming abordou a do Código Aberto questão dos modelos híbridos, com características de modelos proprietários e de Código Aberto. A conclusão definitivamente já está quase geral é de que os modelos estão convergindo, com se tornando história. muitos fornecedores de um adotando características do outro. Os modelos abertos, por exemplo, adotam a busca pela lucratividade empregada nos proprietá- treinamento. E já está bem claro para todos que Código rios, com muitas empresas buscando resultados através Aberto não significa software gratuito, embora os custos não apenas de suporte e treinamento, mas também de propriedade tendam a ser menores que os de produtos de licenças baseadas em subscrição. Também deve proprietários correspondentes. se acelerar o processo de aquisição de empresas de Na sessão de brainstorming sobre tendências e Código Aberto por aquelas de software proprietário. desafios do Código Aberto, identificaram-se como O momento romântico do Código Aberto definitiva- principais desafios: mente já está se tornando história. ➧ Como monetarizar o Código Aberto? Código Aberto já está sendo visto de forma bem ➧ Como balancear os interesses dos usuários com a mais pragmática e realista. Já não é mais politi- comunidade, uma vez que nem sempre os desejos camente incorreto falar em ganhar dinheiro com dos usuários estão refletidos nas prioridades dos Código Aberto… recursos implementados pela comunidade? O mundo do software não será mais 100% pro- ➧ Como reduzir e conciliar as dezenas de licen- prietário, mas também não será 100% aberto. Esta- ças, às vezes incompatíveis entre si? mos todos, indústria, comunidades e usuários, em ➧ Quais serão os impactos da GPLv3? busca do ponto de equilíbrio. ■ Dois outros pontos foram abordados: o primeiro é que a influência do modelo de Código Aberto já está afetan- O autor do as startups de software e reduzindo os investimentos Cezar Taurion é gerente de novas tecnologias dos VCs neste setor; e o segundo é que começa a haver aplicadas da IBM Brasil. Seu blog está disponível uma carência de desenvolvedores centrais, uma vez que em http://www-03.ibm.com/developerworks/ muitos deles estão sendo contratados diretamente por blogs/page/ctaurion.

30 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Softwares para Groupware

Colaborar é preciso CAPA

Para sua equipe colaborar de forma realmente eficiente é necessário oferecer a ela as melhores ferramentas para isso. por Pablo Hess

oordenar equipes é uma tarefa que exige talento para liderança e tomada de decisões, além de planejamento, paciência e inteligência, é claro. Equi- Cpes podem ser enxergadas de um ponto de vista externo, aquelas que não dispõem de uma boa coordenação inevitavelmente comportam-se como qualquer agrupamento de pessoas – de forma, digamos, pouco inteligente. As bem geren- ciadas, por outro lado, tendem a atingir certa sinergia, beneficiando o trabalho do todo mais do que qualquer um poderia fazer indiviualmente. A chave da boa coordenação, além dos requisitos internos já descritos, se en- contra na colaboração. É extremamente importante que cada colaborador tenha a percepção do espaço que ocupa na equipe e da importância de sua tarefa para o prosseguimento dos projetos em andamento. O objetivo dos sistemas para groupware é, justamente propiciar um ambiente colabora- tivo perfeitamente integrado. Com funcionalidades de leitura e envio de emails, agendas particulares e públicas, navegadores de fluxo de trabalho e mensagens instantâneas, esses softwares se dedicam a permitir que equipes grandes e pequenas, simples e complexas trabalhem bem em grupo, de forma a otimizar seu trabalho como um todo. Com isso em mente, apresentamos nesta edição da Linux Magazine alguns proe- minentes softwares de groupware para Linux. O interessante Citadel, proveniente de um sistema BBS, oferece uma visão um tanto diferente do funcionamento interno de sistemas de groupware, com possibilidades mais diversas que a maioria de seus concor- rentes. Em seguida mostramos o Expresso Livre, um projeto brasileiro que mantém sua compatibilidade com o E-GroupWare, do qual foi derivado, estendendo muitas de suas funcionalidades no mais puro modelo colaborativo do Software Livre, e com benefícios para seus desenvolvedores e usuários – especialmente os brasileiros. O elegante Zim- bra é o terceiro software a ser abordado, e mostra seu uso inovador da tecnologia AJAX a serviço da colaboração. Por último, mas definitivamente não menos importante, o premiadíssimo Open-Xchange marca presença e mostra os motivos de seu sucesso no mundo corporativo. ■

Índice das matérias de capa Citadel pág 32. Expresso Livre pág 36. Zimbra pág 40. Open-Xchange pág 44.

Linux Magazine #32 | Julho de 2007 31 © Linux New Media do Brasil Editora Ltda. Jürgen Mala - www.pixelio.de CAPA

Conheça o servidor groupware Citadel Povoado de funcionalidades O projeto Citadel oferece uma alternativa para groupware fácil, estável e versátil. por Jon Watson

Citadel [1] é uma alternati- rio de gerenciamento de informações implementação do Citadel para Unix va de groupware com forte pessoais (PIM) com uso do protocolo – com o nome inicial de UNIXrooms). Ointegração e vários recursos padrão GroupDAV. O Easy Install de 45 O projeto foi motivado pela necessidade poderosos. Enquanto alguns adminis- minutos envolve apenas algumas teclas de uma BBS dedicada à liberdade de tradores levam horas tentando instalar e um nível básico de conhecimento do expressão. A BBS UNCENSORED!, ferramentas como o Kolab2 (analisado seu sistema operacional. primeira a usar essa nova implemen- em profundidade na Linux Magazine Comparado especificamente ao Ko- tação do Citadel, abriu suas portas no 12 [2]) ou o Horde, o Citadel, nesse lab2, o Citadel é mais poderoso e signi- início de 1988. mesmo intervalo, pode ser instalado ficativamente fácil de configurar. Por volta da metade da década de 90, e executado de forma segura. Além O site do Citadel, em http://www. o crescimento da Internet ameaçou a do servidor groupware (sério concor- citadel.org, possui todas as informa- existência da UNCENSORED!, assim rente do MS Exchange®), o Citadel ções e arquivos necessários para instalar como ocorreu com toda a comunidade oferece um sistema de BBS (Bulletin e configurar seu servidor groupware. de BBSs discadas. Em resposta a isso, Art Board System) acessível tanto via Web Sua comunidade de suporte é muito conectou a BBS à Internet e projetou uma quanto via telnet, além de um utilitá- ativa, e encontra-se na BBS Citadel interface web para ela, chamada WebCit. mais antiga do planeta, a UNCEN- O projeto cresceu, e embora o Citadel SORED! BBS[3]. ainda possua suas interfaces web e de tex- to, ele englobou o nicho do groupware, com recursos totalmente funcionais de História email IMAP e POP, calendário, tarefas, Em 1987, o Citadel quase iniciou sua listas de contato e mais. vida como um porte para Unix das plataformas de BBS Citadel-CP/M e Citadel-86. Entretanto, segundo Art Por que usá-lo? Cancro, criador do atual software, O Citadel é extremamente fácil de não foi necessário muito tempo para instalar e configurar, principalmente Figura 1 O Citadel oferece o conveniente Easy descobrir que reescrever o programa se for levada em conta sua ampla gama Install. seria mais fácil. Foi iniciada, então uma de recursos. Tem-se email, calendário,

32 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Citadel | CAPA

fóruns de discussão, listas de discussão configuração de um e mensagens instantâneas em uma sistema como esse é única instalação do sistema. algo trivial. A arquitetura única do Citadel é Primeiramente, é parte do motivo para seu sucesso. Sua necessário criar um an- configuração é organizada em contêi- dar e torná-lo particular, neres chamados salas (rooms). Segundo para que apenas seu o site do programa, “...uma sala pode dono possa vê-lo. De- ser usada como uma pasta de emails, pois, deve-se criar duas um fórum de discussão, uma sala de salas nesse andar: tare- chat, uma lista de discussão, um calen- fas_casa e tarefas_tra- dário, um livro de endereços, um feed balho. Cada sala recebe Figura 2 O WebCit é uma ferramenta fácil e intuitiva para configura- RSS...” ou qualquer combinação desses seu próprio endereço ção do Citadel. elementos. Uma sala pode servir como de email. Agora, qual- algo semelhante a um único fórum de quer email enviado a room_tarefas_ Internet com um tópico a respeito de [email protected] será transformado em Se o curl estiver ausente, pode-se um único assunto. As salas podem ser uma mensagem nessa sala. Feito isso, usar em seu lugar o wget: organizadas em andares (floors). Um é possível acessar essa lista tanto pelo andar é um grupo de salas. WebCit quanto pelas pastas IMAP em wget -q -O - http://easyinstall. Uma característica da herança do seu programa de emails preferido. ➥citadel.org/install |sh Citadel é o fato de que as salas podem ser compartilhadas por nós. Qualquer Segundo a documentação, o Easy nó pode abrir uma nova sala conectada Instalação Install é fácil, mas não rápido. Há mo- simplesmente criando uma sala local e O código-fonte do Citadel é liberado sob mentos em que a instalação parece em seguida oferecendo-a a outros nós a GPL, e portanto pode ser compilado estar parada, como ao baixar e instalar do Citadel. A sala fica disponível a qual- pelo administrador. No entanto, existe o BerkeleyDB; mas não tema, pois tudo quer nó que queira participar. também uma forma mais fácil de fazer prosseguirá assim que possível. Outro atributo muito útil de salas a instalação: o Easy Install, que pode ser Após o download e instalação é que cada uma delas em um nó do usado tanto para uma nova instalação das bibliotecas, a instalação do Citadel possui seu próprio endereço quanto para atualizar alguma versão já Citadel será iniciada. Os desen- de email. Uma sala chamada Cachor- instalada. Para isso, é necessário acesso volvedores deram muita atenção ros, por exemplo, possuirá o email de root, via SSH, ao servidor que rece- à criação de um instalador que [email protected]. Os emails berá a instalação. faça as perguntas corretas e tenha enviados para esse endereço aparece- É altamente recomendável confe- os padrões certos. Por exemplo, rão na sala Cachorros independente- rir o site http://easyinstall.citadel. o instalador não presume que o mente de ela estar conectada a algum org antes de instalá-lo em seu sistema. administrador queira usar os servi- nó. Todos os andares e salas podem Atualmente, a versão do Citadel ofe- dores POP, IMAP e SMTP embu- aparecer na lista de pastas IMAP no recida pelo Easy Install é a 7.09. Para tidos no Citadel, então pergunta Kontact, por exemplo. instalá-lo no Debian, é necessário o se o usuário deseja essas funcio- pacote build-essential, além do curl nalidades. O mesmo se aplica à e do libssl-dev (esse último apenas porta do servidor web onde o We- De email para tarefa se for desejável ativar a criptografia bCit deve escutar. Se o Apache A forte integração do conjunto de fer- por SSL no groupware). já estiver em execução na porta ramentas do Citadel oferece alguns Se o sistema em uso não for De- 80, pode-se simplesmente fazer o benefícios interessantes para usuários bian, será necessário instalar quais- WebCit escutar em alguma porta ocupados. Por exemplo, aqueles que quer pacotes necessários para que a alternativa, de forma a deixar a estiverem sempre fora podem enviar distribuição forneça um ambiente configuração antiga intocada. emails pelo celular para alimentar de compilação funcional. Após escolher um nome de usu- uma lista de afazeres no servidor. Esse Comece a instalação com: ário para o administrador e respon- recurso está ausente na maioria dos der algumas perguntas a respeito servidores groupware, ao menos em curl http://easyinstall.citadel. dos serviços a serem iniciados na suas versões gratuitas. No Citadel, a ➥ org/install |sh inicialização, você é o proprietário

Linux Magazine #32 | Julho de 2007 33 © Linux New Media do Brasil Editora Ltda. CAPA | Citadel

de uma nova instalação do Citadel Portanto, o primeiro passo da con- ar seu groupware. Uma vez que isso te- em seuservidor.com, ou seuservidor. figuração é fazer os logs irem para nha sido configurado, uma análise mais com:XXXX, caso tenha sido escolhida outro destino. Para isso, uma solução detalhada das outras opções de confi- uma porta alternativa. fácil é editar o arquivo /etc/syslog. guração é um tempo bem gasto. conf e apontar o recurso local4 para um arquivo de log. Configuração Configuração O modo mais confortável de Por motivos de espaço, este artigo configuração do Citadel é atra- do Kontact pode apenas descrever a configura- vés do WebCit (figura 2), embora Apesar de o WebCit oferecer uma inter- ção com alguns pressupostos: isso também possa ser feito pela face web bastante funcional para todos os ➧ Os servidores IMAP, POP e interface de texto. Para usar os recursos do Citadel, às vezes é desejável SMTP embutidos no Citadel servidores de email embutidos, ter o poder de um cliente PIM local. O serão usados; é necessário fornecer algumas Citadel entende os protocolos Webcal, ➧ O uso primário do programa será informações básicas na configu- GroupDAV e IMAP, e há rumores de como servidor groupware; ração. Entre no WebCit com o um conector para o MS Outlook em ➧ O software será configurado atra- usuário administrador e siga o desenvolvimento. Configurar o Kontact vés da interface web WebCit. link Administration no canto in- para trabalhar com o Citadel através de Independentemente da forma ferior direito. GroupDAV é muito fácil. de uso pretendida para o Citadel, o Clique no link Domain names and No Kontact 1.2, que contém o processo de login merece atenção. O Internet mail. Para receber emails pela Kmail 1.9.1, há um problema com um fato mais curioso a respeito da insta- Internet, é necessário informar ao Ci- pequeno detalhe relativo ao funcio- lação é que o recurso de log padrão é tadel os domínios a serem atendidos namento do calendário e da lista de o local4. No entanto, como a maioria pelos emails. Insira seu domínio pri- tarefas, que será explicado mais adian- dos sistemas não possui esse recurso, mário no campo Local host aliases e te. No momento, devemos nos ater à isso significa que o Citadel joga seu clique no botão Add. Faça isso para configuração da conta IMAP. log diretamente no terminal, o que todos os domínios que deverão rece- O Kontact é basicamente um apli- é altamente incômodo quando se ber emails através do Citadel. cativo de shell que engloba todos os está usando esse mesmo terminal. Nenhum dos outros campos dessa aplicativos PIM do KDE. Para chegar tela é obrigatório, mas se for desejá- às configurações do Kmail, clique vel usar Smart hosts, o SpamAssassin no ícone com uma carta e selecione ou qualquer uma das outras opções, Ferramentas | Configurar Kmail. insira as informações necessárias nos campos aplicáveis. Outra área da configuração Receber emails que pode ser interessante é a Clique no ícone Contas e em seguida no aba Edit site-wide configuration botão Adicionar. Aqui é exemplificada | Network. Se o objetivo for rodar a configuração IMAP, mas contas POP servidores POP, IMAP ou SMTP, são configuradas da mesma forma. Cli- os padrões dessa página provavel- que no botão OK e preencha o nome da mente já resolvem o problema. conta, seu login e senha no Citadel e seu É esse também o local para se endereço de máquina. Se seu servidor de desligar serviços, alterar portas email estiver localizado em uma porta e configurar uma variedade de não padrão, certifique-se de informar opções de rede. essa porta no campo Porta. Se o IMAP Se a intenção for autenticar no estiver em uso, pode-se clicar no ícone LDAP, será necessário visitar a aba circular, e o Kmail pedirá ao servidor os Edit site-wide configuration | Direc- valores dos Espaços de Nomes Pessoal, tory e preencher o servidor LDAP e Outros usuários e Compartilhado. A fi- suas credenciais. gura 3 mostra que, no caso, o espaço de Há várias outras configurações nas nomes Pessoal é INBOX/, enquanto o Figura 3 Configuração de uma conta IMAP no abas dessa página, mas estamos lidando Compartilhado é Main Floor/. Se o servi- Kontact. apenas com o mínimo para colocar no dor usar SSL ou TLS, pode-se clicar na

34 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Citadel | CAPA

aba Segurança e depois no botão Verifi- para o email, mas a URL é um pouco car o que o servidor suporta para fazer o diferente: no caso do GroupDAV, ela Kmail descobrir as configurações corre- é a URL HTTP (incluindo a porta tas para o caso. Marque todas as opções não-padrão, caso seja usada) com um que quiser e clique em OK. /groupdav logo em seguida, como em http://www.seuservidor.com.br/grou- pdav ou http://www.seuservidor.com. Enviar emails br:2000/groupdav, caso seja usada a Agora que já conseguimos receber emails, porta 2000 para HTTP. precisamos de um servidor de envio. Para garantir que suas configurações Para usar o servidor SMTP embuti- estejam corretas, clique no botão Atu- do do Citadel, clique na aba Envio e alizar lista de pastas. Apesar de já ter depois no botão Adicionar. Selecione digitado seu usuário e senha na seção SMTP e clique em OK. Assim como do servidor GroupDAV, você precisará na configuração do IMAP, preencha fornecer novamente suas credenciais. um Nome e o endereço do servidor Após digitá-las pela segunda vez, a janela Citadel, e verifique se a porta correta Seleção de pastas deve ser preenchida está indicada (figura 4). com vários itens de calendário e tarefas, Figura 4 Configuraçao do SMTP no Kontact. O servidor Citadel exige auten- cada um com uma caixa ao lado. ticação, com o intuito de impedir Há algumas falhas no processo. Em Para isso, entre na sua conta WebCit o envio de spam. Clique na caixa vários casos, o Kontact exibirá mais e observe o aparecimento de seus itens Servidor requer autenticação e digi- de uma fonte de calendário e tarefas. na interface web. O Citadel oferece te seu nome de usuário e senha nos Marcar as caixas ao lado das fontes acesso completo a todos os seus dados campos apropriados. Se o SSL estiver escolhidas deveria ativar a fonte, po- de PIM e emails a partir da web. em uso, pode-se clicar na aba Segu- rém parece não surtir efeito, pois a Note que as alterações feitas no rança e depois em Verificar o que o caixa não permanece marcada. Para Kontact ou WebCit podem levar al- servidor suporta. Configure as outras solucionar isso, clique com o botão guns minutos até serem sincronizadas. opções e clique em OK. direito sobre a caixa ao lado da fonte Isso depende muito da sua freqüência Já deve ser possível enviar e receber desejada e selecione Ativar. de checagem de emails, pois tudo é emails através do servidor Citadel. sincronizado nesse momento. Clique no ícone Verificar Emails na barra de ferramentas do Kontact e Contatos veja o que ocorre. Se forem retor- Configurar contatos é muito semelhan- Conclusão nados erros de conexão ou autenti- te ao processo usado em calendários O Citadel possui uma longa história cação, verifique novamente se suas e tarefas. Clique no ícone Contatos, como um servidor groupware alta- configurações estão corretas. adicione um Livro de contatos, sele- mente versátil. Ele oferece email, cione o servidor GroupDAV como mensagens instantâneas, calendá- antes e clique OK. Entre os mesmos rio, serviços de BBS e outros re- Calendário e tarefas valores do calendário para nome de cursos num pacote precisamente Email é bom, mas ter acesso universal usuário, senha e URL, clicando em integrado. Sua arquitetura facilita a a seus dados PIM é importantíssimo. Atualizar lista de pastas ao final. Mais criação e implantação de soluções Para acrescentar o Citadel como uma vez, siga os passos do calendário personalizadas. ■ uma fonte de calendário, clique no para ativar pelo menos um Contato. ícone de calendário do Kontact e de- Se o objetivo for compartilhar o livro pois no botão Adicionar, abaixo das de contatos, deve ser ativado também Mais Informações listagens de calendários. Depois de o item Livro de Contatos Global. [1] Projeto Citadel: selecionar o protocolo GroupDAV, http://www.citadel.org/ clique em OK. [2] Kolab – Sala de reunião: Digite um nome no campo apro- Linux Magazine 12, pg. WebCit e Kontact 40. Setembro de 2005. priado e suas credenciais na seção Ser- Ao adicionar e editar tarefas no calen- vidor GroupDAV. Suas credenciais de dário e registrar os contatos, pode-se [3] BBS UNCENSORED!: usuário e senha são as mesmas usadas conferir as alterações no WebCit. http://uncensored.citadel.org

Linux Magazine #32 | Julho de 2007 35 © Linux New Media do Brasil Editora Ltda. O servidor groupware brasileiro Expresso Livre Todos a bordo? Derivado do E-Groupware, o Expresso Livre conserva a compatibilidade e ainda acrescenta recursos importantes e interessantes. CAPA por João Alfredo Knopik Junior, Nilton Emílio Bührer Neto e Maurício Luiz Viani

projeto Expresso Livre[1], de- Várias falhas críticas existentes foram de processos, tais como: mudar situ- senvolvido pela CELEPAR corrigidas, o layout do sistema foi per- ações, alterar prioridades, substituir O– Companhia de Informática sonalizado e houve a implementação usuários executores, visualizar gráfi- do Paraná[2], foi iniciado em abril de de algumas funcionalidades que não cos estatísticos, alterar propriedades 2004. Trata-se de uma customização existiam, mas que eram fundamentais etc. A ferramenta também possui feita a partir da ferramenta E-Group- para a migração de tecnologia. suporte para o envio de email, acesso Ware[3], que reúne diversos serviços Além disso, o fato de não se criar um a bancos de dados remotos, inclusive essenciais em um ambiente corpo- fork a partir da ferramenta alemã foi uma mainframes, framework de desenvol- rativo, tais como: email, catálogo de decisão importante para garantir a com- vimento com AJAX, edição de texto endereços, agenda de compromissos, patibilidade com futuras atualizações, formatável, organograma empresarial, mensagens instantâneas e gerenciador correções e novas versões do E-Group- edição de código em PHP no navega- de fluxo de trabalho (workflow). Ware, principalmente de sua API. dor, plugins Smarty personalizados e A escolha dessa solução foi feita após Atualmente o Expresso Livre é uti- relatórios PDF. uma análise comparativa entre essa e lizado por mais de 80 mil usuários no diversas outras ferramentas existentes Governo do Estado do Paraná, além Infraestrutura da na comunidade de Software Livre. No de possuir sua própria comunidade no entanto, para implantá-lo efetivamente, mundo do Software Livre. A comuni- ferramenta algumas ações foram realizadas, a co- dade foi criada em novembro de 2006 O Expresso utiliza vários softwares, to- meçar pela tradução para nosso idioma. e conta com mais de cem usuários ca- dos de Código Aberto, na formação de dastrados, dos quais uma boa parcela sua infraestrutura, como mostra a figura utiliza o projeto em grandes instituições 5. A começar pelo serviço de diretório, espalhadas pelo Brasil. o OpenLDAP, que é o coração de toda a infraestrutura. Sua implementação ocorreu para evitar que os dados dos Módulos usuários fiquem distribuídos por várias O projeto Expresso Livre é composto bases. Não é difícil imaginar o caos que por diversos módulos (veja no quadro 1), seria ter milhares de aplicações, todas Figura 1 O Expresso Mail fornece a funcionalidade sendo que alguns foram inteiramente contendo uma base de dados própria, de servidor de emails e webmail no desenvolvidos pela CELEPAR, como com login, senha, CPF e outros da- Expresso Livre. Expresso Mail (figura 1), Expresso Ad- dos, e a dificuldade de atualização e min, Mensageiro Instantâneo (figura 2) manutenção dessas bases. e Catálogo de Endereços (figura 3). Já Assim, no servidor de diretórios – uma os módulos Boletins Internos, Workflow base de dados com campos pré-defini- (figura 4), Administrador e Agenda de dos que qualquer software pode utilizar Compromissos são originalmente do E- – foram cadastrados todos os dados dos GroupWare, porém, sofreram alterações, usuários (email, login, nome e senha), entre customizações e adaptações. que ficam disponíveis automaticamen- O Expresso Livre possui ainda uma te para a utilização por qualquer outro Figura 2 Através do Mensageiro Instantâneo, quais- interface de monitoramento, para que software. Exemplos práticos destes são quer dois usuários conectados ao sistema os administradores possam realizar o Samba, o Squid e o próprio Expresso podem trocar mensagens instantâneas. tarefas de manutenção nas instâncias Livre. Todos eles utilizam o mesmo

36 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. login e a mesma senha para realizar a para webmails. O Cyrus utiliza uma autenticação do usuário. base própria para armazenar as men- É muito importante frisar que, para sagens, muito parecida com o formato uma boa performance no servidor de Maildir, em que cada mensagem é diretórios, os dados que ele contém de- armazenada em um arquivo. Além vem ser dados com pouco grau de mo- disso, ele faz uma indexação dos ca- dificação, como por exemplo o nome do beçalhos das mensagens, deixando usuário. Para tipos de dados que mudam a exibição das pastas de mensagens constantemente, como a lista de contatos bem mais rápida, já que não existe pessoais e ACLs, é utilizado um robusto a necessidade de percorrer todas as banco de dados PostgreSQL. mensagens para coletar informações, Em busca de melhor performance, tais como assunto e remetente. as conexões entre a aplicação e o banco Para gerenciar as conexões entre a de dados são realizadas através de um aplicação e o servidor de mensagens conjunto de conexões. O responsável é utilizado o Imapproxy. Sua função pelo gerenciamento dessas conexões é é semelhante à do pgpool, com ca- um software conhecido como pgpool. pacidade para gerenciar de forma Isso possibilitou uma diminuição na eficaz as conexões entre a aplicação sobrecarga para abrir e fechar cone- e o servidor de mensagens. xões com o banco de dados, além de Como uma das funções do Expresso possibilitar a otimização do número Livre é sempre permitir mobilidade aos de conexões abertas no banco. usuários, é necessário que as mensagens Como o Expresso Livre foi desen- estejam no servidor de correio, e por volvido para ser utilizado na Web, é isso é utilizado o protocolo IMAP. Ele necessário um servidor específico para permite a manipulação de mensagens isso, e o Apache é um dos melhores e e pastas como se fossem locais. mais utilizados Softwares Livres. Além dessas vantagens, o Cyrus Uma das mais importantes funcio- ainda oferece uma linguagem de fil- nalidades desse groupware é o correio tros (sieve) e o gerenciamento de cotas eletrônico. Nossa escolha de MTA por usuário, funções essas necessárias (Mail Transport Agent) para ser utiliza- para qualquer webmail. do como padrão recaiu sobre o Postfix, uma vez que sua integração com bases Configuração de dados LDAP é simples e eficaz, além de conseguir trabalhar muito bem em mínima exigida situações de alta demanda. Em relação ao hardware, tudo depende Atualmente, o principal servidor do dimensionamento do serviço. Por isso, na empresa consegue gerenciar efi- a escolha deve levar em conta diversos fato- cientemente o recebimento e envio res: número de usuários cadastrados, média de mais de 150 mil mensagens por dia, de usuários simultâneos, cota de espaço com uma média de três mensagens por usuário, número de mensagens por por segundo nos momentos de pico. minuto etc. Como exemplo, temos uma Ressalte-se, ainda, que o Postfix utili- situação com o seguinte cenário: za os dados armazenados no LDAP ➧ 3.000 usuários cadastrados; – como email e nome da caixa postal ➧ 650 usuários simultâneos; do usuário – para realizar a entrega de ➧ 100 MB de cota por usuário; mensagens aos usuários locais. ➧ 30.000 mensagens recebidas O gerenciamento das mensagens por dia. dos usuários é feito pelo software Cyrus. A configuração para uma ótima Ele foi escolhido por se integrar facil- performance, já prevendo um cresci- mente a servidores LDAP, além de ser mento em média de 20% no número escalável e eficiente, principalmente de usuários, é a seguinte: ➧

Linux Magazine #32 | Julho de 2007 © Linux New Media do Brasil Editora Ltda. CAPA | Expresso Livre

Quadro 1: Módulos do Expresso Livre Expresso Mail O módulo de correio eletrônico Expresso Mail foi desenvolvido totalmente pela CELEPAR. A iniciativa partiu dos próprios desen- volvedores do Expresso, que vinham enfrentando diversos problemas com o módulo de correio oficial do E-GroupWare, chama- do AngleMail. Além de possuir um código complicado, o módulo possuía diversas deficiências, que não poderiam ser supridas somente com sua customização. Assim sendo, o Expresso Mail foi desenvolvido utilizando a metodologia AJAX, o que propiciou uma interface leve e um layout mais próximo das ferramentas de correio desktop. Além disso, permitiu o desenvolvimento de facilidades como arrastar-e-soltar men- sagens para movê-las, acesso rápido ao menu usando o botão direito do mouse, paginação sem uma nova requisição de página, abertura simultânea de múltiplas mensagens (com abas) e a integração com o catálogo pessoal e corporativo, onde o usuário pode procurar contatos em seu catálogo pessoal através do recurso de auto-completar ou utilizar uma busca rápida em todo o catálogo corporativo, usando apenas a tecla [F9]. Agenda de Eventos (Calendário) O módulo de Agenda permite não só criar compromissos com usuários do Expresso, mas também com contatos externos a ele. De- senvolvido pela comunidade do E-GroupWare e também adaptado para as necessidades da CELEPAR, esse módulo sofreu diversas al- terações; entre elas, um plug-in do Expresso Mail criado para selecionar usuários (com uso de AJAX). Outra característica interessante é a verificação e visualização de conflitos, caso um dos usuários selecionados já tenha outro compromisso no mesmo horário. Boletins Internos Esse módulo é utilizado para a divulgação de informações e dicas, e não teve qualquer alteração em seu código original. Catálogo de Endereços O módulo de Catálogo de Endereços foi desenvolvido pela CELEPAR para atender uma necessidade da Rede Corporativa do Governo do Paraná, a qual o E-GroupWare não resolvia. Suas funcionalidades compreendem um catálogo completo de contatos e grupos pessoais do usuário, além da visualização de um catálogo corporativo que abrange o nome completo, e-mail, telefones e foto de todos os usuários cadastrados no Expresso. Administrador É o responsável pela administração geral de todos os módulos do Expresso, que permite algumas configurações da aplicação no servidor. Desenvolvido pela comunidade do E-GroupWare, sofreu poucas alterações pela CELEPAR, contando apenas com algu- mas modificações no acesso à base LDAP. Mensageiro Instantâneo Lançado recentemente em versão beta, o Mensageiro Instantâneo também foi desenvolvido totalmente pela CELEPAR. Ele é um módulo de mensagens instantâneas onde o usuário conectado ao Expresso pode se comunicar on-line com qualquer outro usuário que também esteja conectado naquele momento. É uma camada web para o serviço de Jabber, configurado para utilizar o próprio servidor LDAP do Expresso. Expresso Admin Analogamente ao Expresso Mail, esse módulo também foi construído totalmente pela CELEPAR com o objetivo de suprir even- tuais deficiências que o módulo Administrador do E-GroupWare possuía. Atualmente conta com um grande número de funcionalidades, tais como: gerenciamento de usuários, grupos, listas de email, computadores e organizações. Uma de suas características é a criação de gerentes regionais responsáveis por determinadas organizações e que tenham suas funcionalidades limitadas por meio de uma ACL. Também utiliza AJAX na implementação, tornando o seu manuseio bem mais intuitivo e ágil. Workflow Esse foi um dos últimos módulos incorporados ao Expresso. Sua finalidade é o desenvolvimento de fluxos de trabalho integrados ao ambiente corporativo. Na época em que foi prospectado, a CELEPAR tinha a necessidade de substituir softwares proprietários de workflow, altamente onerosos financeiramente. Foi realizada uma pesquisa e chegou-se ao produto Galaxia, que é um motor de workflow desenvolvido originalmente para o projeto Tikiwiki[4]. O módulo já estava disponível em versão beta na comunidade E-GroupWare, e a CELEPAR adicionou algumas melhorias para adaptá-lo às suas necessidades. Seu perfil atual é de robustez e alta estabilidade. Diversos processos foram implantados, alguns com alto grau de complexidade. Dentre suas funcionalidades, o módulo de workflow implementa todo o controle de processos, instâncias, atividades, perfis e transições. Possui um rigoroso controle de acesso e conta, e possui uma interface de usuário bem amigável, onde o participante de processos de workflow pode visualizar, em uma caixa de entrada, todas as suas pendências, além de acompanhar as instâncias que ele mesmo criou.

➧ 2 processadores Intel Xeon Instalação CD, o Debian customizado é inicia- 2.8 GHz; Existem três formas de instalar o do, juntamente com todos os serviços ➧ 3 GB de memória RAM; Expresso Livre. Todas estão disponí- do Expresso Livre. Depois disso, já se ➧ 300 GB de espaço em disco; veis na seção de downloads do site tem uma versão de demonstração do Além disso, é importante instalar http://expressolivre.org. Expresso Livre em funcionamento, e as aplicações de melhoria de perfor- A primeira delas é a criação de um o administrador poderá optar por ins- mance, disponíveis sob a forma dos Live CD a partir de uma imagem ISO. talá-lo através de um instalador gráfico chamados middlewares. Após inicializar o servidor com esse em GTK. O instalador copia todo o

38 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Expresso Livre | CAPA

conteúdo da imagem ISO para uma quisitos encontrados foram: alta partição vazia, fazendo uma instalação escalabilidade, modularidade e completa da aplicação. independência de plataforma. A segunda forma de instalação é Atualmente, o Expresso Livre está possível através do pacote expres- bem mais adiantado que o próprio E- so.tar.gz, que é recomendado para GroupWare. Embora a API permaneça Debian e Suse pré-instalados, pois já a mesma nos dois sistemas, os módulos contém um script de shell que auto- que foram desenvolvidos aumentam a Figura 3 O Catálogo de Endereços exibe matiza todo o procedimento. qualidade da solução nacional. No Go- informações sobre todos os contatos A terceira opção de instalação é para verno do Estado do Paraná, o Expresso de um determinado usuário. aqueles que gostam de saber como tudo Livre chega mesmo a ser um ambiente funciona. Ela está disponível em um corporativo completo, dada a gama de manual passo-a-passo, que descreve recursos incluídos, sendo até integrado a instalação e configuração de cada a outros portais. Além disso, toda sua serviço que o Expresso Livre utiliza. base de usuários está centralizada em Esse roteiro é muito útil quando se um único serviço de diretórios, o que deseja instalar o Expresso Livre em possibilita que outros serviços de rede, outra distribuição Linux ou integrando tais como Squid e Samba, o utilizem serviços similares, já que a ferramenta como base de autenticação. Em suma, possui essa flexibilidade. a convergência de todos os serviços Ainda na seção de downloads do site, está caminhando no sentido do agru- Figura 4 O módulo Workflow apresenta as podem ser encontrados alguns scripts pamento no Expresso Livre, evitando etapas do fluxo de trabalho do usuá- úteis para migração de bases de usuários a necessidade de utilização de outras rio, mostrando pendências e detalhes existentes, entre outras facilidades, para ferramentas de groupware. de cada uma das tarefas envolvidas. implantação em um ambiente corporati- Outra característica interessante do vo. As últimas versões dos módulos estão Expresso Livre é seu instalador, que auto- disponíveis também nessa seção. matiza a instalação dos serviços padrões englobados, suas dependências, sua con- figuração inicial e a criação do usuário Análise Comparativa administrador. No Debian, por exemplo, No início de 2004, em razão da neces- a instalação é completada em cinco sidade de se buscar uma alternativa em minutos. Caso o administrador deseje Software Livre para substituir o siste- instalá-lo manualmente, existe, além do Figura 5 Infraestrutura operacional do progra- ma groupware existente, a CELEPAR manual do instalador, um passo-a-passo ma Expresso Livre. realizou uma análise das ferramentas da instalação de cada serviço. Mais Informações mais conhecidas para esse fim dispo- [1] Expresso Livre: níveis como Software Livre. Após uma http://www.expressolivre.org avaliação comparativa das caracterís- Conclusão [2] CELEPAR – Informática do Paraná: ticas de cada uma, foi decidido pela A iniciativa da CELEPAR em ofe- http://www.celepar.pr.gov.br escolha do E-GroupWare. recer à administração pública uma [3] E-GroupWare: Entre os projetos analisados, des- alternativa à solução proprietária http://www.egroupware.org tacam-se: existente possibilitou uma versatili- [4] Tikiwiki: ➧ Horde : À época, sua versão de dade muito maior ao atendimento http://workflow.tikiwiki.org demonstração não atendeu às das demandas dos usuários. expectativas; Diversas organizações de vários Os autores ➧ PHPGroupWare : não atendeu estados do Brasil e até de países vizi- João Alfredo Knopik Junior é Coordenador às expectativas devido à falta de nhos já manifestaram interesse e têm de Infraestrutura do Expresso Livre. modularidade, e também por se o Expresso Livre já instalado. Nilton Emílio Bührer Neto é o Coordenador tratar de um sistema monolítico, O Expresso Livre possui sua pró- de Desenvolvimento do Expresso Livre. portanto pouco flexível; pria comunidade no mundo Software Maurício Luiz Viani é responsável pela ➧ E-GroupWare: um fork do PHP- Livre, e mais informações podem ser manutenção e desenvolvimento do módulo Workflow no projeto Expresso Livre. GroupWare. Os principais re- encontradas em [1]. ■

Linux Magazine #32 | Julho de 2007 39 © Linux New Media do Brasil Editora Ltda. O elegante Zimbra Colaboração fácil

Um conjunto elegante de tecnologias de Código Aberto

CAPA formam o software de colaboração Zimbra. O Zimbra nasceu junto com o florescimento de tecnologias como o AJAX. por Francisco Saito

sanja gjenero - www.sxc.hu

software para groupware vedores podem criar seus próprios ➧ Usar e criar etiquetas e rótulos para Zimbra[1] tem recebido Zimlets, o que permite uma gama mensagens e conversações; Oatenção crescente da mí- enorme de possibilidades para per- ➧ Pesquisar nas mensagens usando dia, e foi pioneiro no uso intensivo sonalização da ferramenta. diversos campos de busca; da tecnologia AJAX por sistemas O Zimbra possui todas as fun- ➧ Criar compromissos, encontros groupware. Os fundadores da Zim- cionalidades dos sistemas de cola- e eventos; bra são ex-funcionários das empresas boração: ➧ Compartilhar a agenda e Sun Microsystems e BEA Systems, ➧ Compor, receber e responder verificar se os participantes e participaram ativamente nas defi- mensagens de correio (figura 1); de uma reunião estão livres nições de vários padrões Java, tais ➧ Incluir múltiplos anexos; ou ocupados. como Java Server Pages e a infra- ➧ Anti-vírus ClamAV e Anti-spam Além disso, o Zimbra disponibiliza estrutura Java EE. A interface do SpamAssassin integrados; uma ferramenta – ainda em estágio Zimbra é muito bem planejada, ➧ Visualizar as listas de mensa- beta – de edição de documentos; po- com inovações como os Zimlets, gens em modo de conversação rém, até o fechamento deste artigo, que permitem marcar pequenos ou normal; a ferramenta apenas editava textos trechos reconhecidos na interfa- ➧ Criar suas próprias pastas para com formatações simples dentro de ce e fazer a devida ligação entre organização; um editor HTML rudimentar. os mesmos, baseada em contexto, ➧ Criar regras de processamento com ações e URLs. Os desenvol- para as mensagens; Licenciamento A versão comercial[2] do Zimbra visa o mercado de software como serviço e conta com recursos espe- cíficos e inovadores para esse mer- cado, como publicidade baseada em palavras-chave em mensagens (usando Zimlets) e banners sensíveis ao contexto. Ela conta também com a ferramenta de busca estendida, que permite pesquisar o conteúdo dos anexos de mensagens. A versão comercial inclui suporte para uso em sistemas em cluster e Figura 1 A interface de leitura de emails do Zimbra funciona como um aplicativo local. de alta disponibilidade, fornecendo

40 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Zimbra | CAPA

recursos como a migração online de pelo arrastar-e-soltar, é selecionar Exemplo 1: named.conf.local contas entre servidores. Um subsiste- uma mensagem e arrastá-la para zone “4linux.com.br” { ma MAPI para clientes proprietários uma data no calendário. Uma ja- type master; file “/etc/bind/db.4linux”; também é fornecido nessa versão, nela de edição de compromisso é }; além do suporte a clientes móveis mostrada com os dados da mensa- com tecnologias de push email. A gem como gabarito. Zimbra fornece suporte a sua versão Se comparado com outros sis- previamente. A entrada de MX (mail comercial para Red Hat Enterprise temas, com o OpenXchange, por exchange, endereço que indica quais Linux AS/ES 4, tanto em 32 quanto exemplo agendamento em grupo são os servidores de correio) deve apon- em 64 bits, além do SUSE Linux ES exige mais etapas mas é plenamente tar para seu servidor Zimbra. 9 (apenas 32 bits), OpenSUSE 10 e funcional. Os endereços de correio No Debian, instale o servidor Bind Ubuntu 6.06. são preenchidos automaticamente com install bind9. É impor- Com exceção desses e mais al- conforme os endereços existentes tante adicionar a zona DNS no arquivo guns recursos, a versão comunitária nas conversações anteriores ou no named.conf.local de acordo com o exem- é essencialmente igual à comercial. caderno pessoal de endereços. plo 1, e o arquivo de configuração da Pacotes dessa versão estão disponíveis A interface é limpa e bem pensada, zona correspondente como mostrado para Red Hat Enterprise Linux 4, Fe- o que pode poupar bastante tempo no exemplo 2. Em seguida, configure dora Core 4 e 5, Mac OS X, SUSE 9 das mesas de help-desk. o arquivo /etc/hosts para refletir o e 10, Debian 3.1 Sarge, Ubuntu 6.06 nome escolhido para seu servidor de e Mandriva 2006. A documentação correio conforme o exemplo 3. de instalação fornecida pelo projeto é Zimlets O nome da máquina também completa e bem escrita, e um script Um Zimlet é um pequeno pe- precisa ser ajustado no arquivo /etc/ de instalação é fornecido. daço de código AJAX sensível ao hostname, deixando-o apenas com o Uma restrição que deve ser leva- contexto (figura 2). Na figura 3, o conteúdo zimbra[nome do domínio]. da em conta para a versão comuni- endereço do remetente do email Por último, o arquivo /etc/resolv. tária é que a Zimbra obriga o uso é pesquisado na lista de contatos, conf deve ser alterado para usar o de logos com os dizeres “Powered e dados essenciais são exibidos novo servidor DNS local. by Zimbra”, com ligação para o no balão do Zimlet. Infelizmen- site oficial, nas instalações onde a te, as palavras-chave dos zimlets interface for modificada. A versão não estão traduzidas[4], mas é Serviços conflitantes comunitária do Zimbra é licenciada possível ver sua aplicação mais Como o Zimbra instala praticamente sob a ZPL, uma versão da Mozilla simples em qualquer referência todos os serviços dos quais depende, Public License. numérica válida para datas. Ou- é fundamental desativar os serviços tro exemplo de uso de zimlets é conflitantes que já estejam instala- a consulta à agenda pessoal: em dos. Caso se tenha optado por uma Interface inglês, as expressões mais comuns, instalação com todos os opcionais O uso de balões sensíveis a contexto como yesterday (ontem) também do sistema operacional, deve-se de- é intenso. Basta colocar o cursor do funcionam. Um clique duplo na sativar os serviços que usam os se- mouse sobre uma data no pequeno palavra salientada pelo sistema de calendário da interface para saber Zimlets ativa a agenda do usuário quais são os compromissos agen- na data respectiva. dados para a data selecionada. A interface em AJAX permite transi- ção suave entre os vários módulos e Instalação garante o bom desempenho visual Por motivos de limitação de espaço, no lado cliente. cobriremos neste artigo a instalação Como num ambiente desktop, do Zimbra apenas em sistemas De- é possível selecionar os itens e ar- bian Etch. rastá-los. Por exemplo, podemos Para usar o script de instalação for- Figura 2 Ao se passar o mouse sobre um determinado dia do selecionar mensagens e arrastá-las necido pelo Zimbra, é fundamental calendário, são mostrados para suas pastas de destino. Um que um sistema de resolução de nomes num balão os compromissos recurso interessante, possibilitado (DNS) esteja instalado e configurado para a data.

Linux Magazine #32 | Julho de 2007 41 © Linux New Media do Brasil Editora Ltda. CAPA | Zimbra

Exemplo 2: Arquivo de configuração de zona de dependências antes de iniciar $TTL 86400 efetivamente a instalação, e o admi- @ IN SOA ns1.4linux.com.br. postmaster.4linux.com.br. ( nistrador deve anotar os pacotes que 2007040101 ; Serial 28800 ; Refresh faltam, para que consiga resolver as 14400 ; Retry dependências e executar novamente 360000 ; Expire o script de instalação. 1D ) ; Minimum No Debian Etch, é preciso insta- IN NS ns1.4linux.com.br. ns1 IN A 192.x.x.x lar alguns pacotes antes de instalar o zimbra IN A 192.x.x.x Zimbra: openssl, libstdc+ 6, libxml2- 4linux.com.br. IN MX 10 zimbra dev, sudo, curl, fetchmail, libgmp3c2, libssl0.9.7, libdb3, libstdc+5, libex- guintes protocolos, antes de fazer a Descompacte o pacote para pat1 e killall. instalação do Zimbra: MTA, HTTP, Debian 3.1 contido na página de O script de instalação também ve- LDAP e MySQL. downloads[3] da versão Commu- rifica o espaço disponível em disco. É grande a possibilidade de nity do Zimbra: São necessários 5 GB livres. Então, complicações devidas à existência ele solicita a seleção dos subsistemas prévia de servidores de email, o tar zxvf zcs-4.5.5_GA_838. a serem instalados. O melhor é ins- que ocorre na maioria das distri- ➥DEBIAN3.1.tgz talar todos os subsistemas. buições. No caso de distribuições Após a instalação dos pacotes baseadas em Red Hat, é necessá- A forma mais simples para modi- do Zimbra, o instalador verifica se rio desabilitar o Sendmail com ficar os scripts de instalação é alterar é possível resolver corretamente o os comandos service sendmail temporariamente o arquivo de versão nome da máquina. Se necessário, stop && chkconfig sendmail off. do Debian (/etc/debian_version). corrija o nome da máquina e do do- Em distribuições baseadas em Para isso, edite-o e altere seu con- mínio, e verifique se a configuração Debian, desabilite o Exim com teúdo (4.0) para 3.1. Em seguida, de DNS está correta. No menu de invoke-rc.d exim4 stop && update- altere o arquivo zcs/util/utilfunc. configurações de ambiente apresen- rc.d -f exim4 remove. sh da seguinte maneira: tado pelo script, verifique se todos Execute o mesmo procedimento os valores estão corretos e corrija-os de desativação para os outros servi- # de se necessário. ços conflitantes: slapd (ldap), mysql if [ $PLATFORM = “UBUNTU6”]; then Nessa etapa, a senha do administra- (MySQL), apache2 (HTTP), tomcat5 # para dor do Zimbra deve ser configurada (Tomcat) e amavisd-new (Amavis). if [ $PLATFORM = “UBUNTU6” -o selecionando-se a opção 6 seguida da ➥$PLATFORM = “DEBIAN3.1” ]; then 4, pois essa senha não vem definida. Depois, selecione r para retornar ao Zimbra Na pasta zcs, criada na descompac- menu anterior, e a para aceitar as A instalação é bastante simples para tação, execute o script de instalação configurações, seguido de Yes para aqueles sistemas que dispõem de pa- install.sh. Ele faz uma verificação salvar as configurações. cotes listados na página de downloads do Zimbra. No caso deste artigo, pequenas modificações devem ser feitas, já que não existem pacotes Zimbra para a versão atual estável do Debian (4.0 Etch).

Figura 3 Os balões de informações também apare- cem ao passar o mouse sobre o endereço Figura 4 O console de administração do Zimbra permite a configuração de diversos de um remetente de email. aspectos do sistema.

42 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Zimbra | CAPA

Posteriormente, o script pergun- Exemplo 3: /etc/hosts ta se deve modificar o sistema para 127.0.0.1 localhost refletir as alterações, e procede às 192.x.x.x zimbra.4linux.com.br zimbra configurações finais. Finalizada a instalação, restaure da interface de administração, pois dor através da criação de scripts a versão correta (4.0) no arquivo a ferramenta de administração não e agendamento de tarefas. /etc/debian_version. configura esses itens. A interface permite acesso con- trolado aos módulos do Zimbra. Conclusão Administração Por exemplo, o administrador pode O sistema de colaboração Zimbra, Na pasta criada após a instalação, definir o tipo de acesso externo a na sua versão de Código Aberto, traz /opt/zimbra, estão instalados os sis- uma conta de email (entre POP3 menos ferramentas que concorrentes temas de correio (Postfix, Cyrus, e IMAP), e também pode informar como o Open-Xchange. Contudo, Amavisd-new, ClamAv e Spamas- se determinada conta possui os re- sua integração e facilidade de uso o sassin), de diretórios (OpenLDAP), cursos de calendário e catálogo de tornam uma boa escolha para aqueles de bancos de dados (MySQL) e endereços (figura 4). ambientes de colaboração que ne- todos os arquivos necessários à No correio eletrônico, a ferramenta cessitam apenas de correio, agenda infraestrutura do programa. O permite facilidades como a rejeição de endereços e calendário. Para as Zimbra fornece uma interface de mensagens baseadas em tipos de futuras versões estão previstas melho- baseada na Web (acessível pelo anexos, além de contas de treinamen- rias no gerenciador de documentos endereço https://seuservidor:7071/ to de positivos e falsos-positivos para e a adição de novas funcionalidades, ZimbraAdmin) para administração, o sistema anti-spam. como edição in place de documentos que permite a execução da maior Um sistema de monitoramento de texto e planilhas eletrônicas. parte das tarefas relativas ao ge- simples permite verificar estatísticas A interface Web de administração renciamento de contas. de uso como tráfego, filas de correio é um grande trunfo do Zimbra, e per- As opções possíveis para cada e atividade dos serviços. O sistema mite executar a maioria das tarefas. É item administrado são completas de monitoramento de filas pode ser possível integrar o Zimbra a uma base e permitem um alto controle e usado para inspecionar até o nível de identidades LDAP existente usando extensas possibilidades de per- de mensagens individuais. o Zimbra Administration Console. sonalização de cada item. Para Uma ferramenta interessante e Uma única ressalva: o Zimbra autenticação e catálogos de en- perigosa no console de administra- pode não se adequar a um parque dereços, a ferramenta Z pode ção é a View Mail, que permite ao de máquinas mais modesto, pois sua ser usada para alterar as confi- administrador inspecionar o conte- interface cliente exige volumosos gurações de servidores LDAP, údo de caixas postais de usuários e recursos do navegador. ■ permitindo inclusive usar dados agir como se fosse o usuário inspe- de servidores Microsoft. cionado. Isso deve ser usado com Mais Informações As necessidades de administra- muita cautela, e sua disponibilida- [1] Zimbra: http://www.zimbra.com/ ção não vão muito além das tarefas de deve ser bem pensada, já que [2] Licenciamento: tradicionais de manutenção de uma pode violar políticas de segurança http://www.zimbra.com/ infraestrutura de correio. O Zimbra e privacidade de várias empresas. A license/index.html fornece uma interface Web para admi- grande utilidade dessa ferramenta, [3] Download: http://www.zimbra. nistração, a qual permite a execução no entanto, é a verificação de pro- com/community/downloads.html da maior parte das tarefas relativas ao blemas simulando o uso de outra [4] Instalação em outros idiomas: gerenciamento de contas. Adicionar, conta diretamente na interface de http://wiki.zimbra.com/ modificar e excluir contas, aliases e administração. index.php?title=Translations listas de distribuição são tarefas que Atividades essenciais, como podem ser feitas de forma simples rotinas de backup, criação de O autor pela interface. usuários em massa, ligamento Francisco Saito é Gerente de Tecnologia da em- Para sistemas com múltiplos do- e desligamento de serviços, en- presa 4Linux, tem mais de dez anos de experiên- mínios, a configuração dos serviços tre outras, não podem ser feitas cia como instrutor e consultor e possui certificado de resolução de nomes deve ser feita pela interface Web, devendo ser LPI-3 Mixed Environment, além de uma pós-gra- externamente e anteriormente ao uso provisionadas pelo administra- duação em Administração em Redes Linux.

Linux Magazine #32 | Julho de 2007 43 © Linux New Media do Brasil Editora Ltda. O complexo groupware Open-Xchange CAPA Mudou para melhor? Depois de vencer três importantes prêmios dos cenários de Código Aberto e servidores, o Open-Xchange foi totalmente reescrito e conta com novos recursos e nova arquitetura. por Francisco Saito

projeto Open-Xchange é ➧ Criar compromissos, encontros comportamento dificultava bastante uma iniciativa da empresa e eventos; a navegação entre as diversas partes OOpen-Xchange, Inc. A em- ➧ Compartilhar a agenda e verificar do sistema de colaboração. presa fornece uma versão paga com se os participantes de uma reu- A introdução do AJAX permite oar- recursos adicionais ao produto de nião estão livres ou ocupados. raste de mensagens, e também uma Código Aberto. O Open-Xchange Além dessas funcionalidades, o transição suave entre as várias partes permite todas as funcionalidades dos Open-Xchange integra um geren- do sistema de colaboração. sistemas de colaboração (figura 1): ciador de documentos acessível pela A versão atual não conta com loca- ➧ Compor, receber e responder interface web (figura 3). O gerenciador lização para português do Brasil, o que emails (figura 2); de documentos InfoStore permite: dificulta a implementação do sistema. ➧ Inclusão de múltiplos anexos; ➧ Salvar anexos de email para a pasta Porém, o projeto conta com uma boa ➧ Visualizar as listas de mensa- pessoal dentro do InfoStore; infraestrutura de localização, e pode gens em modos de conversação ➧ Versionar os documentos; ser traduzido usando-se ferramentas e normal; ➧ Compartilhar a pasta com per- baseadas no GNU gettext. ➧ Criar suas próprias pastas para missões de grupo e individuais; organização; ➧ Usar os documentos armazena- ➧ Criar regras de processamento dos para download, envio como Recursos para as mensagens; anexo e envio como link. Apenas examinando a interface, é pos- ➧ Usar e criar etiquetas e rótulos para sível notar a ferramenta InfoStore, o mensagens e conversações; gerenciador de documentos do Open- ➧ Pesquisar nas mensagens usando Interface Xchange. Com ele, é possível armaze- diversos campos de mensagem; A integração da ferramenta de colabo- nar anexos de email ou documentos ração é muito boa, e sua interface está via upload. A ferramenta suporta ver- mais limpa e agradável do que nas ver- sionamento e travas de arquivos. Um sões anteriores. Um cuidado especial recurso disponível no sistema Horde e foi dado à disposição dos elementos e também no InfoStore é a possibilidade uso do espaço da tela, de forma que o de envio de documentos ligados, ou conjunto é bastante funcional e permite seja, links para documentos. O uso grande aumento de produtividade em dos documentos como anexos con- relação às versões anteriores. vencionais também é possível. Além Nas versões anteriores, o sistema disso, um sistema interno de permis- de webmail parecia ser um produ- sões possibilita controle granular de Figura 1 A tela inicial do Open-Xchange mostra to separado do restante, já que era acesso aos demais participantes do todos os recursos que a ferramenta possui. aberto em uma nova janela. Esse sistema de colaboração.

44 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Open-Xchange | CAPA

Em versões futuras, está prevista Open-Xchange necessita de uma as instâncias do contêiner de ser- a edição in place de documentos, série de bibliotecas Java. Crie uma vlets, com o conteúdo indicado empregando para isso o futuro mó- pasta /opt/java/lib para armazenar no exemplo 1. dulo Wiki Oxtender. os arquivos listados em [5]. As biblio- O banco de dados MySQL é ne- A nova interface de webmail com tecas Json on Java e util.concurrent cessário para os serviços de email tecnologia AJAX permite um uso se- devem ser obtidas por acesso CVS e autenticação de usuários. Após melhante ao dos aplicativos de cor- e compiladas localmente. instalá-lo, altere sua senha de root reio, permitindo arrastar-e-soltar as A versão 2.3 da biblioteca de Ser- com mysqladmin -u root password mensagens, além do uso de menus vlets Java deve ser renomeada para ‘senha’ e crie um usuário para aces- de contexto com o botão direito do jsdk.jar, e as demais bibliotecas so local com uso da nova senha, mouse. O agendamento de eventos no devem ser obtidas nos endereços com mysql -h localhost -u root - calendário (figura 4) exige um pouco mostrados em [5]. psenha. Em seguida, crie um usu- de calma, já que as informações ne- Após a resolução manual de todas ário chamado open-xchange com cessárias e a terminologia podem gerar as dependências do Open-Xchan- mysql -h localhost -u open-xchange confusão. O calendário permite com- ge, podemos instalá-lo, obtendo-o -poutrasenha, entre no MySQL e partilhamento e aviso de eventos aos por acesso CVS. As ferramentas de forneça ao usuário todos os privi- participantes. O pequeno calendário administração podem ser obtidas e légios, executando: onipresente na interface poderia seguir compiladas como descrito em [2], os passos do Zimbra e possibilitar a incluindo sua interface web (open- GRANT ALL PRIVILEGES ON *.* TO visualização prévia de eventos ao se xchange-gui). Lembre-se de criar o ➥‘open-xchange’@’localhost’ passar o mouse sobre datas. usuário e o grupo responsáveis pela ➥IDENTIFIED BY ‘outrasenha’; A alteração da arquitetura para uso do execução do software. MySQL como base de identidades e de O script de instalação e configu- dados do Open-Xchange dificulta a in- ração do banco de dados do Open- tegração com recursos LDAP existentes. Apache e MySQL Xchange deve refletir o usuário cria- Nas versões anteriores, as listas de contatos As páginas exibidas pelo Open-Xchan- do no MySQL, o que é efetuado com pessoais e corporativos usavam consultas ge são servidas pelo Apache2, com o uso do parâmetro OXDB_USER=open- LDAP. Para vários administradores, isso auxílio do conector jk. Instale-os e xchange no script de instalação. Em pode significar não apenas duplicação configure-os de acordo com o guia de seguida, siga novamente o guia [2] de bases de identidades, mas também instalação, lembrando-se de conec- para usar o script oxinstaller para de listas de contatos globais. tar o Apache aos servlets do Open- criar o banco de dados e suas res- Xchange, para fazer pleno uso das pectivas tabelas, lembrando-se de Instalação das funcionalidades AJAX. usar como senha a mesma fornecida Crie o arquivo /etc/apache2/ na criação do usuário open-xchange dependências workers.properties, que configura no MySQL. ➧ Cobriremos aqui a instalação da última versão do Open-Xchange, codinome Hyperion, em um servidor Debian 4.0 Etch. Como o guia de instalação em [2] já contém informações bastante detalhes para o download e instalação de pacotes e dependências, vamos nos ater a uma breve descrição desse processo, enfocando principalmente a configuração dos serviços necessários ao correto funcionamento do Open- Xchange. Também está disponível em [3] uma imagem de máquina virtual do sistema pronta para uso. A primeira etapa é instalar o Java, a ferramenta de construção de apli- cações Apache Ant e o CVS. O Figura 2 Recurso de leitura de emails embutida no Open-Xchange.

Linux Magazine #32 | Julho de 2007 45 © Linux New Media do Brasil Editora Ltda. CAPA | Open-Xchange

Exemplo 1: Arquivo workers.properties do MySQL, editando de acordo com o guia, prosseguindo worker.list=oxworker os arquivos /etc/pam. à criação das caixas IMAP para cada worker.oxworker.type=ajp13 d/imap e /etc/libnss- usuário com o utilitário cyradm. worker.oxworker.host=EndereçoIPdoServidorOpen-Xchange mysql.cfg. Uma complicação para os admi- worker.oxworker.port=8009 Finalmente, con- nistradores é a dificuldade para in- worker.oxworker.lbfactor=50 worker.oxworker.cachesize=10 figure o arquivo / tegração com bases de identidades e worker.oxworker.cache_timeout=600 etc/nsswitch.conf catálogos de endereços existentes em worker.oxworker.socket_keepalive=1 para que faça a busca servidores LDAP, e a necessidade de worker.oxworker.recycle_timeout=300 por nomes de gru- criação manual das contas Cyrus IMAP. pos, usuários e se- Esses fatores geram a necessidade de Email nhas em bancos MySQL: repetição de contas em vários siste- Mais uma vez, o guia de instalação mas, podendo ser uma tortura admi- [2] contém todas as instruções para a passwd: files mysql nistrativa. Seria necessário programar implementação do servidor de emails shadow: files mysql o recurso de adição de contas Cyrus Postfix com suporte a MySQL, Cyrus, group: files mysql IMAP e incorporar sistemas flexíveis saslauthd e bibliotecas de busca de de armazenamento de identidades e nomes (libnss-mysql-bg), e módulo de configurações de usuários ao Open- autenticação baseados em MySQL Administração Xchange; contudo, não há previsão (libpam-mysql). Siga também as instru- Ao contrário da versão paga, a versão para esses recursos no projeto, embora ções para a configuração desses serviços comunitária do Open-Xchange não a presença de arquivos não documen- através da edição de seus respectivos dispõe de interfaces gráficas para ad- tados (/opt/open-xchange/etc/group- arquivos de configuração. ministração e monitoramento. Nela, ware/ldap.properties) possa indicar Crie os arquivos de suporte ao as tarefas são realizadas no console, que eles estão em estudo. MySQL /etc/postfix/ox_*, conforme exigindo um certo tempo dos admi- A parceria com a empresa MySQL mostra o guia. Depois, configure o nistradores para criação de seus scripts AB pode ser um fator para explicar a pre- serviço de IMAP, editando o arquivo de automação e monitoramento. cedência no sistema de autenticação e /etc/imapd.conf para usar o autentica- O conjunto de tarefas é basicamente armazenamento de configurações. Para dor externo saslauthd e especificando o mesmo necessário para administrar alguns mercados de terceirização, com o domínio do site corretamente na uma infraestrutura de correio basea- o software como serviço, o uso de bases variável loginrealms. da em Postfix e Cyrus com usuários de identidades em bancos de dados re- O autenticador saslauthd também em MySQL. As ferramentas de con- lacionais pode facilitar a integração com deve ser configurado para iniciar au- sole fornecidas com esse sistema de sistemas de CRM e cobrança. ����������� � tomaticamente e usar o mecanismo colaboração adicionam os usuários ��������� ����������� ��� ����������� ������ � � PAM, exatamente como mostra o guia na base MySQL e permitem ajustes de instalação. Continue também nas de configurações para cada usuário Conclusão ���� ��� ��� ������� �� ��� ��� ��������� ��� ���� etapas de configuração dos serviços (como fuso horário, por exemplo). As ferramentas de colaboração dis- IMAP e NSS (Name Server Switch) Elas se localizam no diretório open- poníveis formam um bom conjunto, ��� ���������� �� ���� ��� ��������� para que reconheçam os usuários xchange/sbin. Crie o usuário oxadmin agradam visualmente, têm forte in- ������ ������ ������� �� ������ �� ���� �� ������ �� ���� �� ������� �� ���������� �� ����� �� ������ ��������� �� ������ �� ���� �� �� �� ������� ��� ������ � ���� �� ������ �����

�������� ����� ����������� ����������� �� ������������ ������� �������������������������� ����������� Figura 4 O calendário incluído no Open-Xchange permite, Figura 3 O recurso InfoStore permite a vinculação entre anexos de como de costume, a definição e visualização de emails. tarefas em escalas de dias, semanas e meses. ������������ ������ ���������������� ������� ����������� ������� ������ 46 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Open-Xchange | CAPA

tegração e devem atender a maioria usuários em vários serviços pode não Mais Informações das empresas. A integração entre o ser um problema tão grave, mas é [1] Open-Xchange Community sistema de emails e o gerenciador de sempre fonte de inconsistências. Edition: http://www.open-xchange. com/header/community_area.html documentos é um recurso poderoso. A instalação é complexa, e a existên- O uso de interfaces AJAX facilita a cia de um instalador e de uma inter- [2] Tutorial de instalação do Open-Xchange: ‘http:// migração de usuários acostumados face de administração na versão paga wiki.open-xchange.com/ aos aplicativos desktop, e permite a pode levar a crer que as dificuldades wiki/index.php?title=Open_ navegação com transição suave entre de instalação na versão comunitária Xchange_Installation as várias ferramentas de colaboração. são artificiais (veja o quadro 1). [3] Open-Xchange Community Edition O agendamento de eventos em gru- O licenciamento é adequado para em máquina virtual: ‘http://www. po é bastante completo e, integrado uso interno em corporações, mas open-xchange.com/wiki/index. php?title=OX_with_VMWare a avisos de email, permite um uso faz necesários acordos para a cria- mais efetivo. ção de infraestruturas de software [4] Licenciamento: ‘http://www.open- xchange.com/header/community_ O uso do MySQL para geren- como serviço, baseadas na versão area/community_ip_licenses.html ciamento de identidades e configu- comunitária. [5] Bibliotecas Java e dependências rações de usuários funciona bem. As mudanças de arquitetura entre do Open-Xchange: ‘http:// Não há, contudo, integração fácil, as versões gera incerteza, já que as tinyurl.com/yuvohb sem modificação de código, com migrações são bastante complicadas outros sistemas de gerenciamento entre as versões e, em alguns casos, de identidades baseados em LDAP. inviáveis sem a presença de progra- O autor Isso é um fator que deve ser levado madores. O Open-Xchange pode não Francisco Saito é Gerente de Tecnologia da em- em conta para muitos administrado- se adequar a um parque de máqui- presa 4Linux, tem mais de dez anos de experiên- res de sistemas preocupados com o nas de configuração modesta, já que cia como instrutor e consultor e possui certificado gerenciamento de bases duplicadas. sua interface cliente exige polpudos LPI-3 Mixed Environment, além de uma pós-gra- Para instalações pequenas, adicionar recursos. ■ duação em Administração em Redes Linux. ����������� � ��������� ����������� ��� ����������� ������ � � ���� ��� ��� ������� �� ��� ��� ��������� ��� ���� ��� ���������� �� ���� ��� ��������� ������ ������ ������� �� ������ �� ���� �� ������ �� ���� �� ������� �� ���������� �� ����� �� ������ ��������� �� ������ �� ���� �� �� �� ������� ��� ������ � ���� �� ������ �����

�������� ����� ����������� ����������� �� ������������ ������� �������������������������� �����������

������������ ������ ���������������� ������� ����������� ������� ������

© Linux New Media do Brasil Editora Ltda. ANÁLSISE

Debian 4.0 “Etch” Feliz Debian novo! Um novo instalador gráfico e várias ferramentas interessantes foram adicionados à última versão do famoso projeto Debian. por Marcel Gagné

ara aqueles que não sabem, O kernel incluído nessa versão ciamento de algumas de suas partes o Debian GNU/Linux [1] é é o Linux 2.6.18. Os usuários do e o manifesto Debian [3]. Puma das distribuições de sis- KDE terão direito à novíssima ver- O aplicativo Pidgin (antigo Gaim) tema operacional mais respeitadas são 3.5.5 desse ambiente gráfico, também foi incluído, em sua ver- no mundo do Software Livre. Sua enquanto os entusiastas do Gnome são 2.0 – ainda com o nome antigo reputação de estabilidade e seguran- terão a versão 2.14 de seu ambien- – enquanto o Gimp exibe a versão ça, associada ao profundo respeito te à disposição. Da mesma forma, 2.2.13. Uma novidade interessante pelos princípios do Software Livre, os usuários do Xfce desfrutarão a é o ansiosamente aguardado novo transformou-o na base de muitas atual versão 4.4. instalador gráfico, e é onde come- outras distribuições Linux popula- A versão 2.0.4 do aplicativo de çamos nossa análise. res, incluindo Ubuntu/, escritório OpenOffice.org também Xandros, Linspire e outros. está incluída. Uma mudança um Além do respeito, o Debian tam- tanto inusitada é a presença de algo Liberdade de escolha bém se destaca por estar freqüen- chamado Iceweasel, além de um Baixar e gravar uma mídia de ins- temente atrasado em seus prazos, programa de nome Icedove. Apesar talação do Debian não representa e ser lento para liberar qualquer dos nomes estranhos, estes são o na- grandes dificuldades. A parte difí- software minimamente atualizado. vegador web Firefox e o cliente de cil é decidir o que baixar. Pode-se A versão recente do Debian Etch emails Thunderbird, que tiveram seus usar uma distribuição mínima que 4.0 [2] é uma despedida do antigo, nomes alterados no Debian devido caiba num cartão de visitas, com rumo ao novo. a incompatibilidades entre o licen- 40 MB, suficiente para configurar

48 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Debian Etch | ANÁLISE

uma conexão de rede e baixar os pacotes necessários para a insta- lação local. Um pouco maior, a imagem netinst oficial é seme- lhante à edição de cartão de vi- sitas, mas inclui ainda o sistema Debian básico, o que significa que é possível rodar um sistema básico sem interface gráfica com essa imagem. A partir daí, as opções começam a ficar mais interessantes. O Debian suporta uma incrível variedade de arquiteturas, incluindo as popu- lares x86 e x86-64, MIPS, Sparc, Alpha, S390 e muitas outras. Na plataforma x86, pode-se escolher o desanimador conjunto de 21 CDs (sim, vinte e um) ou um conjunto Figura 1 Simples, porém interessante. A jornada do Debian Etch começa aqui. de três DVDs, ou ainda um dos vá- rios CDs únicos com Gnome, KDE installgui para usar o instalador to manual. Apesar de essa etapa ou Xfce. Esta análise é baseada no gráfico” na tela de inicialização não apresentar problemas, o par- CD com o KDE. do CD de instalação. ticionador em modo texto parece Com isso, foi feita a instalação mais ágil. É oferecida também em dois sistemas diferentes: uma a opção de criar um sistema de Instalação com o instalador gráfico e outra arquivos criptografado, para am- Para fazer a instalação, a iniciali- com o tradicional. O gráfico faz bientes em que segurança seja zação pelo CD permanece igual. um ótimo trabalho, guiando o uma necessidade. Ao pressionar [Enter], foi mostrada usuário através do processo de Após o particionamento, a confi- a velha tela (em modo texto) de instalação, e tem uma bela apa- guração de fuso horário, a escolha instalação (figura 1). Após selecio- rência. Para aqueles que se sentem de uma senha de root e a criação de nar as configurações de idioma, limitados pela escassez de opções uma ou mais contas desprivilegiadas, o instalador começou a verificar oferecidas pela interface gráfica a instalação continuou de forma o hardware, carregar drivers etc, de instalação, a opção expertgui autônoma: instalação do sistema ainda sem gráficos. deve ser interessante. básico, conexão a um mirror de rede Não há nada errado com esse Em ambos os casos, o processo etc., tudo igual nos dois ambientes instalador, porém, instalações em de instalação foi como de costu- de instalação. modo texto pertencem ao século me. Uma tentativa de configurar O sistema estava instalado vinte passado, até mesmo no mundo a rede por DHCP falhou, o que minutos depois. do Linux. Pesquisando na Inter- não foi surpresa alguma, dada a net, vim a descobrir que a opção ausência de um servidor DHCP de instalação em modo gráfico na rede. Após receber a opção de Primeiras impressões está escondida no início do pro- tentar novamente, o melhor foi Ao fazer o login no sistema, o cesso de instalação – é necessário configurar a rede manualmente. personalizador do KDE é execu- pressionar [F1] e digitar installgui Em seguida, o particionador foi tado, cobrindo sua localização e para entrar no amigável instalador carregado com diversas opções, verificando o desempenho de seu gráfico. É claro que é desnecessá- sendo o padrão o uso do disco in- processador para sugerir um nível rio um instalador gráfico – nem teiro. Num dos sistemas foi aceita adequado de perfumarias gráficas, mesmo um desktop gráfico é ne- a sugestão de usar o disco inteiro além do comportamento dos cli- cessário – mas ele deveria ser o e no outro, por haver outras dis- ques do mouse e assim por diante. padrão. Ou, no mínimo, poderia tribuições na mesma máquina, O desktop do KDE 3.5 é iniciado, ser mostrado algo como “Digite foi selecionado o particionamen- exibindo uma área de trabalho

Linux Magazine #32 | Julho de 2007 49 © Linux New Media do Brasil Editora Ltda. ANÁLISE | Debian Etch

É possível imaginar que a pri- meira coisa que um usuário ini- ciante do Debian Etch – edição KDE – queira fazer seja instalar o gerenciador de pacotes Adept. Isso pode ser feito abrindo-se o Konsole, tornando-se root e usan- do o comando:

apt-get install adept-manager

A partir do fim dessa instala- ção, a vida do usuário comum não-técnico será muito mais fácil. Para procurar e instalar softwares, basta executar o Adept a partir do Figura 2 O Kpackage funciona, mas é apenas uma curta viagem para a chateação menu do KDE. com as dependências, o famoso dependency hell. Ainda não está embutido o supor- limpa e agradável, com uma “Dica aversão à linha de comando. O te a Flash ou Java da Sun, e não há do dia”. A resolução da tela nas Kpackage, apesar de ser um pro- um único reprodutor de filmes em máquinas testadas – um desktop e grama gráfico, não é fácil quando DVD. Em vez de procurar programas um notebook – refletiu a resolução comparado com ferramentas como capazes de executar essas tarefas, é suportada pelos monitores. o Adept ou o Synaptic (embora recomendável visitar o site www.ge- O Konqueror foi iniciado, per- a instalação do Etch com Gno- tautomatix.com e baixar e instalar a mitindo a navegação na Web sem me inclua o Synaptic). A figura 2 versão do Automatix para Debian qualquer problema. Embora fosse mostra o problema ocorrido com Etch (figura 3). O Automatix descreve esperado que o Debian, seguindo o Kpackage. As tentativas de ins- a si mesmo como “um gerenciador a ideologia de descartar todos os talação do OpenOffice.org resul- de pacotes gráfico livre para a insta- softwares proprietários, tivesse taram em repetitivos problemas lação, desinstalação e configuração uma má integração de seus com- com dependências num dos siste- dos aplicativos mais freqüentemente ponentes, até mesmo os com- mas – no outro, a instalação fluiu pedidos em sistemas operacionais ponentes multimídia do sistema sem qualquer dificuldade. baseados em Debian” [5]. estão perfeitamente integrados. Foi surpreendente ser capaz de reproduzir músicas em formato MP3 sem instalar qualquer paco- te adicional, e também sem ter de retirar o status de “mudo” do sistema de som. Apesar dessa qualidade musi- cal, foi decepcionante não ver o Amarok instalado por padrão. Também decepcionante foi a dificuldade de solucionar esse leve defeito. Instalar novos softwares foi um pouco problemático, pois havia a opção do Kpackage para instalações gráficas e do apt-get para a linha de comando. Instalar pacotes com o apt-get é fácil, caso o usuário saiba onde procurar e não tenha Figura 3 O Automatix facilita a instalação dos aplicativos que exigiriam mais trabalho.

50 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Debian Etch | ANÁLISE

porém menos flexível e menos compatível com documentos do Microsoft Office. O navegador Epiphany também foi instalado, em sua versão 1.6.5, assim como o Evolution 2.6.3. Diferentemente do KDE, o desktop Gnome inclui um re- produtor multimídia, o Totem. Infelizmente, seu suporte a co- decs populares é limitado por sua aderência ao uso exclusivo de codecs livres. O reprodutor VLC, mencionado anteriormen- te, cuida disso sem problemas. O Rhythmbox tem comportamento semelhante ao Amarok, mas vem instalado por padrão no Gnome. Figura 4 É possível instalar o ambiente Gnome no Etch com apenas alguns cliques. E é capaz de reproduzir arquivos MP3 sem dificuldade. Alguns dos pacotes fornecidos aqueles que desejarem conversar Os jogos incluídos no Gnome pelo Automatix talvez não sejam com os amigos no MSN, Yahoo! também são capazes de divertir legais em alguns países, por isso ou Google Talk, o Kopete é uma um usuário por muitos momentos. é interessante ler as notas incluí- ótima opção. Unindo-os aos oferecidos pelo KDE, das em cada um dos pacotes. Evi- Ao longo do menu, pode-se notar tem-se um conjunto de motivos para dentemente não se trata de uma também uma infinidade de pro- não trabalhar. questão de segurança nacional, gramas listados no item Debian. mas a instalação de alguns codecs Eles não são especificamente apli- e bibliotecas de reprodução de cativos do KDE, ou softwares in- Considerações finais DVDs sem pagamento de royal- dispensáveis como o OpenOffice. Agora que o Etch foi finalmente ties a várias empresas pode ser org, o Iceweasel e o Icedove, nas lançado, talvez você esteja pensan- crime em algumas nações, com sim programas comuns à maioria do se ele é adequado para você. A destaque para os Estados Unidos. dos sistemas, independentemente resposta evidentemente depende do O amigável Automatix exibe esse do ambiente desktop. seu relacionamento com o Linux ou aviso assim que é iniciado. Após algum tempo divertindo- GNU/Linux. ■ Ainda na questão de multimídia, se com os jogos incluídos no Etch, é interessante notar que nenhum muitos dos quais educacionais, reprodutor de vídeo vem instalado pode-se instalar o meta-pacote do Mais Informações por padrão. Uma solução simples Gnome, chamado simplesmente [1] Projeto Debian: que possibilita a reprodução de de Gnome. Nos testes realizados, http://www.debian.org/ praticamente qualquer tipo de aproximadamente 160 pacotes tive- [2] Debian Etch: mídia é instalar o VLC (apt-get ram de ser instalados. Após o login http://www.debian.org/ install vlc). no Gnome, algumas novidades releases/stable/ Já foi mencionado que o Fire- surgiram no menu. [3] Manifesto Debian: fox 2.0 recebe o nome de Icewe- Felizmente o desktop Gnome http://www.debian.org/doc/ asel, e o Thunderbird vem como (figura 4) possui o excelente geren- manuals/project-history/ Icedove. O Etch também traz ciador de pacotes Synaptic, que ap-manifesto.pt.html o excelente conjunto de soft- facilita imensamente a instalação [4] Iceweasel na Wikipédia (em wares para groupware Kontact, de pacotes. No menu Escritório, inglês): http://en.wikipedia. org/wiki/Iceweasel que oferece email, calendário e o Gnome acrescenta o processa- gerenciamento de contatos, en- dor de textos Abiword, menor e [5] Automatix: tre outras funcionalidades. Para mais veloz que o OpenOffice.org, http://www.getautomatix.com/

Linux Magazine #32 | Julho de 2007 51 © Linux New Media do Brasil Editora Ltda. TUTORIAL

Usos práticos do Wireshark Tubarão multiuso Se você conhece bem os protocolos de rede, o Wireshark possibilita encontrar rapidamente a raiz de muitos problemas. por Armijn Hemel

Um capturador de pacotes é uma base no Unix, assim como para o tethereal – claramente referindo-se ferramenta indispensável para so- Windows®. Por padrão, ele usa uma ao antigo nome do software. lucionar problemas. Os usuários de interface gráfica, mas também há A arte da captura de pacotes de Linux costumavam observar suas re- uma opção em modo texto, chamada rede exige sólidos conhecimentos des com o popular e livre Ethereal. Até mesmo Hollywood reconheceu a importância desse software no fil- me Firewall. Entretanto, é possível perceber que ninguém tem falado do Ethereal recentemente. Há não muito tempo, em maio de 2006, o autor original do Ethereal mudou de empresa. Todas as marcas registradas do Ethereal permanece- ram com seus antigos empregadores; todavia, o Ethereal não é mais manti- do ativamente. Um novo capturador de pacotes chamado Wireshark [1] é um fork do Ethereal mantido por seu desenvolvedor original. O Wireshark (figura 1) é um apli- cativo GPL que está disponível para todos os sistemas operacionais com Figura 1 O Wireshark monitora e filtra o tráfego de rede.

52 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Wireshark | TUTORIAL

de protocolos, além da compre- Quadro 1: Wireshark e segurança ensão da forma como protocolos Para uma ferramenta freqüentemente usada com o propósito da segurança, específicos são usados por apli- o Wireshark parece ter muitos problemas de segurança. Essas questões têm forte relação com a forma como o software é projetado. Para analisar pacotes cativos diferentes. Apesar de não de rede, plugins especiais chamados dissectors entram em ação. Certamen- haver espaço suficiente para uma te, a maioria das vulnerabilidades do Wireshark são encontradas nesses plu- gins. Para capturar pacotes de rede, o Wireshark com freqüência tem que ser extensa discussão teórica sobre executado com privilégios de root. Os analisadores recebem os dados que o redes, há diversas histórias de ad- programa obtém da interface de rede. Esses dados não têm garantia de con- ministradores que conseguiram sistência. Se o código do analisador responsável por examinar esse código contiver erros, um agressor conseguirá enviar pacotes especialmente criados solucionar problemas práticos em para prejudicar o aplicativo ou executar código com privilégios de root. redes com o Wireshark. Uma descrição excelente e bem aprofundada dessa situação encontra- se no site da LWN.net[2]. É uma boa prática usar ferramentas de linhas de comando como o tcpdump Como funciona para capturar o tráfego e só então usar o Wireshark gráfico para realizar as O Wireshark funciona capturando análises, dessa vez sem privilégios de root. todo o tráfego de rede em uma ou mais interfaces de rede. Ao capturar É óbvio que esse recurso não Se o objetivo for usar o Wireshark pacotes na(s) interface(s), primeiro é funciona com UDP, pois esse é um para capturar o tráfego da rede, será necessário colocá-la(s) no modo dito protocolo sem conexão. necessário colocá-la em modo pro- promíscuo (promiscuous mode). míscuo, o que requer privilégios de Nesse modo, a interface aceita root (veja os quadros 1 e 2). No caso todos os pacotes que chegarem para Primeiros passos de usar o software apenas para ana- ela, mesmo que não sejam destinados Muitas distribuições instalam o Wi- lisar dados de tráfego a partir de um à mesma. Normalmente, o driver do reshark por padrão, ou possuem pacotes arquivo de dump, esses privilégios kernel para a placa de rede ignora pré-compilados prontamente disponí- não serão necessários. silenciosamente os pacotes que não veis. Além disso, o programa também Antes de começar a capturar o sejam destinados àquela interface. pode ser baixado em seu site[1]. tráfego, é necessário configurar o O tráfego em redes agitadas inclui Compilar o Wireshark não é difícil. Wireshark. Entre no menu Capture enormes quantidades de pacotes de Seu código-fonte utiliza as Autotools e selecione Options para estabele- dezenas de protocolos diferentes. do projeto GNU para gerar os scripts cer opções de configuração, como Um dos recursos mais poderosos de configuração e makefiles, portanto, a interface de rede a ser usada para do Wireshark é a possibilidade de para instalar a versão do Wireshark a captura (figura 3). Outra opção é se criar filtros para limitar o número em código-fonte, são necessários ape- o acompanhamento “ao vivo” dos de pacotes visíveis, para que o ruído nas os três famosos passos: configure, pacotes capturados. Por padrão, não seja “ensurdecedor”. Na inter- make e make install. o Wireshark só mostra os pacotes face gráfica do software, é possível construir expressões para realizar essa filtragem, através de uma caixa de diálogo específica (figura 2), e até combinar vários filtros para criar ex- pressões mais poderosas. Um recurso especialmente útil do programa é a capacidade de ras- trear streams TCP completas com a opção Follow TCP stream (Analyze | Follow TCP stream). Todos os pa- cotes que componham uma sessão (desde o primeiro SYN até o último FIN-ACK) são exibidos. O recurso de stream-tracing permite que se siga sessões completas, como conversas pelo MSN Messenger ou sessões de navegação na Web. Figura 2 Construindo uma expressão no Wireshark.

Linux Magazine #32 | Julho de 2007 53 © Linux New Media do Brasil Editora Ltda. TUTORIAL | Wireshark

Quadro 2: Dicas para uso do Wireshark dando o valor da unidade máxima Para ter uma boa relação com o Wireshark, é importante ter em mente as dicas a seguir: de transmissão (MTU) de 1500 para Ao se capturar tráfego destinado a outras máquinas, é necessário usar um hub, e não um valor abaixo de 1492, tudo voltou um switch, pois o segundo sabe quais pacotes devem ser enviados a quais portas, en- ao normal. quanto o hub simplesmente envia pacotes para todas as interfaces, exceto a de entra- da, e permite que as máquinas filtrem os pacotes. O tráfego destinado a outros compu- Quando foi desenvolvido o padrão tadores, portanto, não chegará à sua máquina caso seja usado um switch. IEEE 802.3, o protocolo Ethernet foi Ao capturar pacotes em um servidor sem monitor, use o tethereal ou o tcpdump para usado como base, mas alguns de seus realizar a captura. Ao utilizar o tcpdump, configure-o para capturar o pacote inteiro, pois recursos foram levemente adaptados. ele captura apenas os primeiros bytes dos pacotes por padrão. Um dos parâmetros alterados foi o A captura de pacotes de rede é uma técnica muito poderosa, mas a captura de pacotes valor de MTU. Nas Ethernets de 10 destinados a outras máquinas ou outras pessoas é uma forma de invasão de privacida- Mbps e mais rápidas, esse valor é de de, o que pode ser ilegal. Um bom administrador de sistemas sabe onde ficam os limites entre a depuração de rede e a violação da privacidade de seus usuários. 1500, enquanto o do padrão IEEE 802.3 utiliza 1492 bytes. Quando um em sua totalidade após finalizar a Quando enfrentei um problema roteador é configurado para usar captura. Ao depurar um aplicativo, assim, verifiquei que os sites inalcan- 802.3 e os pacotes chegam de uma geralmente é melhor acompanhar çáveis empregam a criptografia por rede configurada para usar Ethernet, o fluxo de pacotes “ao vivo”, paran- SSL (HTTPS), o que, por si só, não os pacotes ficam grandes demais. O do a captura assim que o pacote de justificava o insucesso. Com o uso protocolo IP então começa a usar a interesse for capturado. do Wireshark, foi possível determi- fragmentação: os pacotes são dividi- O Wireshark pode exportar e im- nar que os pacotes iniciais – aqueles dos em pacotes menores, que então portar dados em vários formatos, sendo que estabelecem a conexão – eram são enviados individualmente. Na um dos mais importantes o da Libpcap. enviados e reconhecidos, porém os extremidade receptora dos pacotes, Ele é usado por várias ferramentas, seguintes não eram respondidos. eles são agrupados novamente para incluindo o tcpdump, e é o padrão Finalmente detectamos a raiz do restaurar o pacote IP original. tanto neste quanto no próprio Wi- problema: um roteador mal confi- Entretanto, os pacotes HTTPS reshark. Como resultado, as capturas gurado no provedor de acesso. Mu- usam a opção IP don’t fragment (não de pacotes de qualquer um dos dois podem ser lidas pelo outro. Também é possível exportar para formatos como CSV, texto puro e PostScript.

Histórias de captura A ferramenta-tema deste artigo não se destina apenas a configurações de grandes empresas. Administradores de redes pequenas também podem usá-la para solucionar problemas práticos que ocorrem diariamente em suas redes. Os cenários a seguir devem ofe- recer uma visão mais detalhada dos usos do Wireshark.

Cenário 1: Sites com SSL É relativamente comum a situação em que alguns sites repentinamente param de funcionar, enquanto outros continuam funcionando normalmen- te. Os sites problemáticos podem estar localizados em diferentes domínios, Figura 3 Use a caixa de diálogo Capture Options para configurar uma interface servidores distintos e ISPs diversos. de captura.

54 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Wireshark | TUTORIAL

sentem outras questões relacionadas ao NAT que possam ser desvendadas por esse fantástico programa.

Cenário 3: Roteadores mal confi- gurados Num laboratório de universi- dade, houve uma grande queda de desempenho (em torno de 95%) nas conexões NFS entre o laboratório e a sala do servidor. Com o Wireshark, conseguimos rapidamente determinar que os pacotes NFS estavam presentes, mas claramente alguns deles esta- vam se perdendo. Esse problema aconteceu apenas com o NFS, e Figura 4 O NAT causa problemas em protocolos VoIP. não ao navegar na Internet. fragmentar), então eles são grandes áudio de volta pelo endereço IP do Conseguimos localizar o proble- demais; não há uma solução sequer, computador com o Linphone, que ma como algo entre o laboratório e então os pacotes são descartados. ele simplesmente não conseguia o servidor NFS, e então descobrimos Como conseqüência, o site não fun- encontrar (figura 4). que um dos roteadores havia sido ciona no outro lado da conexão. O Fazer o SIP (session initiation reconfigurado pelo departamen- Wireshark ajudou a descobrir esse protocol) funcionar corretamente to de TI da universidade, e estava problema mostrando que as sessões quando um dos extremos está atrás usando o modo half-duplex para HTTPS eram perdidas após a requi- de NAT é difícil, pois o SIP codifi- se comunicar com os switches, ao sição inicial. ca o endereço IP do remetente dos invés do full-duplex. pacotes no corpo dos pacotes UDP. A parte mais difícil de consertar Cenário 2: VoIP Esse corpo não é reescrito pelos esse problema foi convencer o depar- Os serviços de telefonia pela Internet aplicativos NAT comuns, por ser tamento de TI a levar a sério os logs estavam mostrando um comporta- específico de cada aplicação, o que do Wireshark. Assim que mostramos a mento estranho na rede. A configu- iria contra os princípios de camadas prova, eles rapidamente consertaram ração empregada consistia no soft- do TCP/IP. o roteador mal configurado. phone Linphone, conectando-se a Para corrigir essa situação, é ne- um adaptador de telefone analógico cessário algum software para NAT (ATA). Entre o Linphone e o ATA que consiga tratar corretamente o Conclusão havia um roteador sem fio, que fazia protocolo SIP, como um proxy, por O Wireshark é um software fabulo- a tradução dos endereços de rede exemplo, ou então aplicar outros so, que pode auxiliar imensamente (NAT). O Linphone encontrava-se truques. Se não for possível confi- a resolução de problemas de rede na rede privada atrás do dispositivo gurá-lo apropriadamente, o tráfego com relativamente pouco esforço. NAT (com o IP 192.168.1.102), e o só conseguirá fluir corretamente do Além disso, ele também é uma ex- ATA estava no lado da WAN (com dispositivo atrás do NAT para aque- celente ferramenta para aprender o endereço 10.0.1.167). le sem NAT. O que estiver atrás do como funcionam os diversos pro- O Wireshark rapidamente confir- NAT tentará enviar de volta os pa- tocolos de rede. ■ mou a suspeita de que o problema cotes, mas não encontrará a máqui- estava relacionado à tradução dos na certa, e então os pacotes serão endereços de rede. O ATA não era simplesmente perdidos. Mais Informações inteligente o suficiente para perceber O Wireshark foi de grande ajuda [1] Wireshark: que a conexão vinha de um NAT. O para solucionar esse problema de http://www.wireshark.org/ áudio do Linphone estava sendo re- forma rápida. Outros dispositivos [2] Ethereal e segurança (artigo cebido corretamente pelo aparelho, de telefonia podem não sofrer desse em inglês): http://lwn. mas este estava tentando enviar seu problema específico, mas talvez apre- net/Articles/175527/

Linux Magazine #32 | Julho de 2007 55 © Linux New Media do Brasil Editora Ltda. TUTORIAL

Stefan Hellwig - www.sxc.hu Primeira aula da preparação LPIC-2 LPI nível 2: Aula 1 Conheça o kernel Linux e saiba como aplicar patches, configurá-lo, compilá-lo e manipular seus módulos. por Luciano Siqueira

Tópico 201: O tos desenvolvedores e figuras im- agrega todas as funções dentro de kernel Linux portantes do mundo do Software um único processo. Já um micro- Livre preferem nomear o sistema kernel delega cada função específica GNU/Linux, dado que a maior par- a processos derivados. 2.201.1 Componentes do kernel te dos programas que funcionam Porém, o kernel Linux trabalha O candidato deve ser capaz de em conjunto com o kernel Linux modularmente. Isso significa que, utilizar os componentes do ker- fazem parte do projeto GNU, cujo mesmo sendo um kernel mono- nel que são necessários para hard- propósito é manter um ambiente lítico, todas as suas funções não ware, drivers, recursos de sistema de desenvolvimento e ferramentas precisam necessariamente estar e requerimentos específicos. Este o mais próximo possível de suas presentes na memória. Por exem- objetivo inclui saber implemen- contrapartes do Unix, porém obe- plo, o kernel pode estar configura- tar diferentes tipos de imagem do decendo ao modelo de desenvol- do para trabalhar com dispositivos kernel, identificar kernels estáveis, vimento aberto. USB, mas não manter em memória em desenvolvimento e patches, Portanto, o kernel é o com- as funções exigidas para trabalhar além de saber usar os módulos ponente central do sistema, res- com os mesmos. Mantidas em do kernel. ponsável pela comunicação com módulos, essas funções somente O kernel é o componente cen- o hardware, gerenciamento de serão carregadas para a memória tral do sistema. É tão importante processos, entre outros. quando forem necessárias, ou seja, que muitas vezes é confundido quando for conectado um dispo- com o sistema em sua totalidade. O kernel e seus módulos sitivo USB. Ou seja, apesar de Linux designar Existem basicamente duas formas de É importante não confundir apenas o componente central – o se escrever um kernel para qualquer um kernel modular com um mi- kernel – o termo é normalmente plataforma: um kernel monolítico cro-kernel. Apesar de modular, o utilizado para designar todo o sis- ou um micro-kernel. O kernel Li- kernel Linux é um kernel mono- tema, que é composto de muitos nux é monolítico. Diferente de um lítico. Cada módulo carregado é outros programas. Por isso, mui- micro-kernel, um kernel monolítico integrado ao kernel ativo e, ape-

56 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LPI | TUTORIAL

sar de em sua maioria poderem como drivers de dispositivos, arquivo kernel-parameters.txt pode ser descarregados da memória, o por exemplo. ser consultado. kernel continua se comportando ➧ D: Utilizado quando há revisões Após compilar um novo kernel como único e centralizado. de segurança urgentes, mas que a partir de seu código-fonte, o não produzem grande alteração arquivo imagem será encontrado Versões do kernel no código. em /usr/src/linux/arch/i386/boot/. A versão de um kernel Linux é ins- Existem ainda alguns sufixos Note que o subdiretório i386 va- tituída através de quatro números. normalmente utilizados em ker- ria conforme a arquitetura esco- Esses quatro números juntos infor- nels extra-oficiais, como rc1 ou lhida durante a configuração do mam não só a versão do kernel, mas smp. Esses sufixos demonstram kernel. Se foi escolhida a arqui- também se trata-se de um kernel alguma particularidade do ker- tetura PowerPC, por exemplo, a estável ou em fase de testes e desen- nel em questão. No caso citado, imagem estará em /usr/src/li- volvimento. rc1 significa release candidate 1 e nux/arch/powerpc/boot/. Dada a natureza colaborativa do smp significa Symmetric Multipro- O nome e o tamanho da ima- desenvolvimento do kernel, novas cessing, capacidade de aproveitar gem variam de acordo com o funções e correções são incluídas todos os recursos de máquinas com método de compilação utilizado. num ritmo diário. Porém, nem mais de um processador central ou A imagem do kernel se chamará todas as novas funções foram su- com ao menos um processador de zImage ou bzImage. O nome zIma- ficientemente testadas para serem múltiplos núcleos. ge demonstra que a imagem está consideradas prontas para uso em Patches do kernel são trechos comprimida com o método zlib. ambientes de produção em geral. de código contendo correções. O nome bzImage (big zImage) de- Por esse motivo, existem sempre Como na maioria das vezes em monstra que a imagem também foi duas versões de kernel mantidas: que uma correção é necessária comprimida com o método zlib, uma chamada “estável” e outra apenas uma pequena parte do có- porém não é limitada ao espaço “de desenvolvimento”. digo do kernel precisa ser alterada, restrito de memória obrigatório O formato do número de versão do somente esse trecho é distribuído em máquinas antigas. Não con- kernel é A.B.C.D. O último elemen- para ser aplicado ao código pre- fundir bzImage com o método de to (D) nem sempre é utilizado, mas viamente distribuído. compressão bzip2. tem função muito importante. Exemplos de nomes usados para O que representa cada elemento distribuir o kernel Linux: 2.201.2 Compilando um kernel na versão do kernel: linux-2.4.22.tar.gz: Código-fonte Apesar de a maioria das distri- ➧ A: Versão propriamente dita. completo do kernel 2.4.22. buições acompanharem kernels Muda apenas quando ocorrem patch-2.6.21.1.bz2: Primeiro pré-compilados, pode ser neces- transformações radicais na estru- patch corretivo para a versão 2.6.21 sário personalizar o kernel para tura do kernel. Está atualmente do kernel. corresponder a necessidades es- na versão 2. pecíficas, como suporte a hard- ➧ B : Número de revisão principal. Arquivos ware incomum ou um sistema de Até a versão 2.4 do kernel, esse Por padrão, todo o código-fonte do arquivos exótico. O código-fonte segmento, quando par, signi- kernel é mantido na máquina local do kernel pode ser obtido através ficava que tratava-se de uma dentro do diretório /usr/src/linux. de pacote específico da distribui- versão estável. Quando ímpar, Ali encontram-se não só os arquivos ção ou diretamente do site oficial tratava-se de uma versão em de código-fonte do kernel, mas tam- www.kernel.org. No último caso, o desenvolvimento, e portanto bém a documentação oficial e onde código é distribuído como um tar- considerada instável. Da versão estará o arquivo imagem do kernel ball, e deve ser extraido no local 2.6 em diante, instituiu-se não após compilado. padrão, /usr/src/linux, que geral- utilizar mais essa distinção entre A documentação oficial está em mente é um link simbólico para par e ímpar. /usr/src/linux/Documentation. Nes- o diretório criado na extração do ➧ C : Número de revisão secundá- te diretório encontram-se vários ar- tarball, /usr/src/linux-x.x.xx. rio. Antigamente, determinava quivos de texto que documentam O processo de personalização de correções e patches de seguran- aspectos específicos do kernel. Por um kernel exige três etapas princi- ça. Hoje demonstra se houve exemplo, para descobrir quais pa- pais: configuração, compilação e, inclusões de novos recursos, râmetros o kernel pode aceitar, o por fim, instalação. ➧

Linux Magazine #32 | Julho de 2007 57 © Linux New Media do Brasil Editora Ltda. TUTORIAL | LPI

Figura 1 Configuração do kernel pela interface ncurses.

Configuração ser compilada como dinâmico (mó- ➧ Power management options A configuração de um novo kernel é dulo carregável e descarregável). O (ACPI, APM): Opções relativas feita invocando-se o utilitário make. item marcado com asterisco (*) será ao controle de energia. Indicado Existem diferentes tipos de interfaces compilado como estático, e aqueles especialmente para laptops; de configuração, mas a mais tradicio- marcados com a letra M serão com- ➧ Bus options (PCI, PCMCIA, EISA, nal é a interface ncurses, invocada pilados como módulos. Itens deixados MCA, ISA): Suporte aos diferentes através do comando make menuconfig em branco não serão compilados. Es- tipos de barramentos; (figura 1). paços de escolha [ ] indicam que o ➧ Executable file formats: Tipos Outras formas de configurar o item só poderá ser compilado como de arquivos que o sistema será kernel são: estático, enquanto espaços de esco- capaz de executar; ➧ make config: Criar ou atualizar a lha < > indicam que o item poderá ➧ Networking : Suporte e confi- configuração através de uma in- ser compilado tanto como estático guração dos diferentes tipos de terface orientada a perguntas e quanto como módulo. plataformas de rede; respostas na linha de comando; A configuração do kernel está di- ➧ Device Drivers: Escolha e ➧ make xconfig: Configurar através vidida nos eixos principais: configuração dos dispositi- de uma interface gráfica baseada ➧ Code maturity level options: vos de hardware, integrados em QT; Mostrar ou não recursos consi- e periféricos; ➧ make gconfig: Configurar através derados instáveis; ➧ File systems: Lista de sistemas de de uma interface gráfica baseada ➧ General setup: Características arquivos compatíveis e recursos em GTK; gerais do kernel. É possível in- relacionados; ➧ make oldconfig: Atualizar a con- cluir um termo de versão para ➧ Kernel hacking: Opções de de- figuração utilizando um arquivo o kernel personalizado; puração do kernel. .config como base; ➧ Loadable module support: Suporte Essas são as principais categorias de ➧ make cloneconfig: Criar uma ao sistema de módulos e defini- configuração, e podem diferenciar de cópia das configurações do ção de algumas características; uma versão do kernel para outra. kernel atual. ➧ Processor type and features: In- As configurações são salvas no Enquanto que alguns recursos pre- dica o tipo de processador que arquivo /usr/src/linux/.config, que cisam ser compilados como estáticos o kernel utilizará, e recursos será usado para guiar a construção (embutidos no kernel), a maioria pode como multiprocessamento; do novo kernel e módulos. No ar-

58 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LPI | TUTORIAL

quivo Makefile é possível mudar Para gerar a imagem zImage ou bzI- à inicialização do sistema, por variáveis como EXTRAVERSION, que mage do kernel, utiliza-se make zImage exemplo, os módulos para lidar indica ser uma compilação de ker- ou make bzImage, respectivamente. Os com os sistemas de arquivos Rei- nel personalizado. comandos apenas funcionarão se for serFS e XFS. Para criar o arquivo obedecida a grafia correta, com o I initrd com as opções padrão, basta Compilação maiúsculo em zImage e bzImage. invocar o comando mkinitrd sem Gerado o arquivo .config, o kernel Muito provavelmente o novo kernel argumentos. O comando criará o está pronto para ser compilado. Se será modular, e os módulos precisam ser arquivo /boot/initrd.gz ou /boot/ não for a primeira compilação do ker- compilados separadamente. Isso é feito initrd.img. nel, pode ser conveniente executar através do comando make modules. make clean, que apaga a maior parte Desde a versão 2.6 do kernel, pode Instalação dos arquivos gerados pela compila- ser necessário criar uma imagem raiz Após compilados o kernel e os módu- ção anterior, mas mantém o arquivo inicial, chamada initrd (initial ram los e criado o initrd, o novo kernel de configuração. Para remover não disk), para o correto funcionamento está pronto para ser instalado. No apenas os arquivos gerados, mas do sistema. O arquivo initrd é ne- caso do sistema usar o carregador de também as configurações anteriores, cessário, por exemplo, se o suporte boot LILO, basta atualizar no arquivo pode ser utilizado o comando make ao sistema de arquivos utilizado na /etc/lilo.conf as informações para mrproper. Nesse caso, será necessário partição raiz foi compilado como utilização do novo kernel: criar uma nova configuração para o módulo. kernel antes de compilá-lo. Para criar um arquivo initrd, é uti- image = /usr/src/linux/arch/ Na versão 2.4 do kernel, é necessário lizado o comando mkinitrd. Porém, ➥i386/boot/bzImage mais um passo antes da compilação: o uso desse programa é um pouco root = /dev/sda1 make dep. Serão geradas as dependências diferente para cada distribuição. initrd = /boot/initrd.gz para que não sejam utilizadas funções Ao arquivo initrd podem ser label = novo_kernel desnecessárias ou conflitantes. incluídos os módulos necessários read-only ➧

�����

� ������ ������������� ���������

© Linux New Media do Brasil Editora Ltda. TUTORIAL | LPI

É recomendável manter o kernel padrão do comando patch. Isso pode arquivo .config para editar configura- anterior como opção no carregador ser feito numa única linha, utilizando ções referentes aos novos recursos. de boot, e apenas incluir o novo ker- o comando bzcat para arquivos .bz2 O arquivo .config contém linhas nel, para que seja possível iniciar o ou zcat para arquivos .gz. que correspondem a cada opção de sistema com o kernel anterior caso Por padrão, os patches oficiais tra- configuração do kernel. Por exemplo, haja algum problema. Feitas as al- zem uma letra ou um termo antes se você integrou ao kernel um patch terações, o novo kernel é instalado do caminho completo a partir da de suporte a ACLs, você pode editar executando o comando lilo. raiz do código-fonte: o .config nas seguintes linhas: Se for utilizado o carregador de boot Grub, o arquivo /boot/grub/ a/arch/i386/mm/boot_ioremap.c CONFIG_FS_POSIX_ACL=y menu.lst deve ser alterado. Inclua as CONFIG_EXT3_FS_XATTR=y seguintes linhas, com as opções cor- Esse caminho indica que uma CONFIG_EXT3_FS_XATTR_SHARING=y respondentes ao seu novo kernel: alteração deverá ser feita no ar- CONFIG_EXT3_FS_XATTR_USER=y quivo /usr/src/linux/arch/i386/mm/ CONFIG_EXT3_FS_POSIX_ACL=y title Novo kernel boot_ioremap.c. Portanto, a letra a CONFIG_EXT2_FS_XATTR=y root (hd0,0) deve ser retirada do caminho, com CONFIG_EXT2_FS_XATTR_SHARING=y kernel /usr/src/linux/arch/i386/ a opção -p1: CONFIG_EXT2_FS_XATTR_USER=y ➥boot/bzImage root=/dev/sda1 ro CONFIG_EXT2_FS_POSIX_ACL=y initrd /boot/initrd.gz bzcat patch-2.6.18.1.bz2 | patch -p1 Ao configurar um kernel 2.2 ou Para o Grub, não é necessário Revertendo um patch mais recente, lembre-se de ativar o executar nenhum comando após a Agora o kernel está atualizado para suporte ao kmod. Este é um recur- alteração no arquivo de configuração. a versão 2.6.18.1. Por se tratar de um so do kernel que permite o carrega- O novo kernel aparecerá automatica- patch de correção indicado pela sub- mento de módulos sob demanda. mente no menu de inicialização. versão .1, novos patches exigirão que Quando o kernel requisitar alguma ele seja revertido, ou seja, que o kernel função compilada como módulo, 2.201.3 Aplicando um volte para o código original da versão o módulo será automaticamente patch no kernel 2.6.18, através da opção -R: carregado. Nos kernels mais antigos Nem sempre é necessário copiar todo o (2.0 e anteriores), o carregamento código-fonte do kernel para conseguir bzcat patch-2.6.18.1.bz2 | patch automático era realizado por um uma atualização ou suporte a um novo ➥-R -p1 daemon chamado kerneld. dispositivo. É possível utilizar um patch para que apenas os trechos relevantes No caso de saltos da revisão secun- Considerações sobre o tópico de código sejam alterados. dária, os patches são incrementais. Este tópico não apresenta grandes Como o código-fonte oficial do Ou seja, não é necessário reverter um novidades em relação aos conteúdos kernel, os patches são fornecidos patch para aplicar um mais recente. já vistos para o LPIC-1. Apesar disso, em arquivos tar compactados, por Porém, é importante aplicar todos os é esperado que o candidato conheça exemplo, patch-2.6.18.1.bz2 ou patch- patches predecessores ao desejado em detalhes os procedimentos de 2.6.18.1.bz2. para que não ocorram erros. compilação e aplicação de patches O programa utilizado para aplicar no código do kernel. Lembre-se de um patch tem o nome não surpre- 2.201.4 Personalizando quais são os principais alvos de com- endente de patch. Um patch deve um kernel pilação do Makefile do kernel, como ser aplicado a partir do diretório raiz Personalizar o kernel contempla todos é constituído um número de versão do código-fonte. No caso do kernel, os aspectos que vimos até agora: aplicar e de como aplicar e remover patches em /usr/src/linux. patches, configurar o kernel, compilá- com o comando patch. ■ Dentro do arquivo patch existem lo adequadamente e instalá-lo. as localizações e nomes de cada ar- Como a maioria das alterações quivo que precisará ser alterado, e realizadas na configuração de um O autor quais são as alterações. kernel resultam em módulos, é im- Luciano Siqueira é editor da Revista Easy Li- A maneira mais prática de aplicar portante saber manejá-los. Se foram nux, publicada pela Linux New Media do Brasil. um patch é direcionar todo o conteúdo integrados patches de terceiros, pode Formado em Psicologia, Luciano trabalha com de um arquivo patch para a entrada ser necessário editar manualmente o Linux há dez anos e tem certificado LPI 1.

60 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ��������������������������������

���������������������������������������� �����������������������������

➧ ������������������������������������ ➧ ���������������������������������������������� ➧ ������������������������������������������������ ➧ ������������������������������������� ➧ ��������������������������� ➧ �������������������������������� ➧ �������������������������������������������� ➧ ������������������������ ➧ ������������������������������������������������������������� ➧ ������������������������������������������ ➧ ��������������������������

���������������������������������������������������������������������������������

����������������������������������������������������������

© Linux New Media do Brasil Editora Ltda.

livro.indd 2 26.06.07 13:25:28 Deixe que seu firewall se lembre das tentativas de invasão Lista negra

O módulo Recent do Netfilter cria uma lista negra temporária para manter sua rede livre de invasores. por Michael Schwartzkopff SYSADMIN

uando um sistema de de- traz recursos especiais para im- sob inspeção no momento. Se o tecção de intrusões (IDS) pedir varreduras de portas, e é firewall detectar padrões típicos Q reconhece um ataque, possível combiná-lo a algum apli- de ataque, ele pode adicionar ele envia uma ordem restritiva cativo externo como o Snort[4], entradas à lista do Recent de de “mantenha distância” para o para criar uma plataforma veloz e forma autônoma. O --rcheck in- firewall, para que o invasor não eficiente para detectar e impedir forma o Netfilter para verificar consiga acessar os serviços. Infe- ataques à rede. se o endereço de origem do pa- lizmente, outros sistemas da rede Um firewall é muito mais do cote atual já consta na lista. Os talvez não sejam cobertos por esse que um simples gerenciador de administradores também podem bloqueio. O módulo Recent[1] do listas de filtragem. A inspeção empregar a opção --seconds para Netfilter[2] atualiza dinamicamen- baseada no estado dos pacotes é especificar por quanto tempo te as regras de acesso do firewall obrigatória há vários anos, e dis- o endereço deve permanecer para criar uma lista temporária positivos sofisticados adaptam banido. A opção --update faz o dos “malvados”. Além da imple- dinamicamente conjuntos de mesmo que --rcheck, porém rei- mentação de um mecanismo de regras para evitar que agressores nicia a contagem de tempo do port-knocking demonstrada na tenham acesso de qualquer forma. processo. Linux Magazine 26[3], pode-se O módulo Recent oferece parte O exemplo 1 mostra um caso configurar as regras do firewall dessa funcionalidade high-end ao típico de uso do módulo Recent. para que o endereço IP que que- sistema de firewalls Netfilter. A linha 1 assegura que os pacotes brar a regra seja temporariamente O Recent suporta a opção -- vindos de conexões existentes te- impedido de ter qualquer acesso set para acrescentar a uma lista nham permissão para passar pelo à máquina. O Recent também o endereço de origem do pacote firewall (inspeção baseada no es-

62 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Módulo Recent do Netfilter | SYSADMIN

tado do pacote). A linha 2 verifica Exemplo 1: Regras de firewall se o módulo já conhece a fonte 01 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT e, caso positivo, bloqueia o IP de 02 iptables -A FORWARD -m recent --update -j DROP 03 [outras regras] origem. Num script completo, as 04 iptables -A FORWARD -i -p tcp --dport 135 -m recent regras para a comunicação permi- ➥--set -j DROP tida viriam em seguida. 05 iptables -A FORWARD -j DROP Exemplo 2: Configuração do Snort Bloqueio output alert_syslog: LOG_AUTH LOG_ALERT O comando da linha 4 do exemplo 1 preenche a lista Recent com o ende- entradas com um script de espaço nicação com esses IPs. Com isso, reço IP de todos os agressores que ten- do usuário: o Recent verá todas as tentativas tam acessar a porta 135/TCP a partir de comunicação com esses ende- de uma interface externa. Essa porta echo > /proc/net/ipt_ reços como ataques potenciais, e é usada por vários worms para se ➥recent/DEFAULT adicionará o endereço de origem infiltrarem em sistemas Windows® à lista negra. através da exploração de uma vul- Um script é útil caso seja neces- Se o agressor depois continu- nerabilidade no RPC DCOM. A sário bloquear as comunicações de ar a varredura, ele não receberá última linha especifica DROP como e para um IP específico. Ainda é respostas, mesmo que tente se política padrão. Se o mesmo com- possível apagar números da lista da comunicar com uma porta que putador tentar novamente dentro mesma forma: normalmente estaria aberta para de 60 segundos (o período padrão), uma máquina no meio do seu o firewall bloqueia a tentativa, echo <-Endereço> > /proc/net/ independentemente da porta ou ➥ipt_recent/DEFAULT Pacote chega ao endereço alvos (linha 2). firewall Ao mesmo tempo, o módulo O módulo normalmente geren- Recent reinicia a contagem do cia um máximo de 100 entradas sim --update IP de origem na tempo (devido à opção ), por lista. Quando aparecem novas Ignora o pacote e a contagem de 60 segundos co- entradas elas substituem as mais tabela recent meça novamente. O fluxograma antigas, mesmo que não tenha não da figura 1 mostra o caminho que expirado seu período de perma- os pacotes percorrem através do nência. Isso pode ser um proble- Resto do script Fim script de firewall. ma no caso de conexões rápidas de firewall à Internet, mas é fácil alterar os padrões: modprobe ipt_recent ip_ Por dentro do módulo list_tot=1000 aumenta o número sim Insere o IP de origem O módulo Recent pode gerenciar máximo de entradas para 1000 ao Comunicação na tabela recet ilegal? múltiplas listas dinâmicas – por exem- carregar o módulo. e o ignora plo, uma para o servidor de emails e não outra para todos os outros sistemas. Defesa contra O script de firewall utiliza a opção Fim Ignora o pacote --name para especificar a lista. Sem varreduras esse parâmetro, o módulo usará a Um dos recursos mais práticos lista DEFAULT. do Recent é sua capacidade de As listas ficam acessíveis através dificultar as varreduras de portas Fim do diretório proc, em /proc/net/ipt_ (port scans). Essa atividade tende recent/, no espaço do usuá- a atravessar um bloco de endere- Figura 1 Quando um pacote chega ao firewall, rio. Esse diretório é onde o módulo ços IP consecutivos. Para flagrar o módulo Recent verifica se a origem é armazena os endereços e dados de o responsável pela varredura, o conhecida. Caso seja, ele ignora o pacote (com DROP). Senão, o restante do script tempo de todos os pacotes que detec- módulo Recent usa um endereço é executado. Se o script detectar um ta. Também é possível acrescentar não utilizado no início e no fim comportamento proibido, ele adiciona o do bloco, e proíbe toda a comu- culpado à lista do Recent.

Linux Magazine #32 | Julho de 2007 63 © Linux New Media do Brasil Editora Ltda. SYSADMIN | Módulo Recent do Netfilter

Quadro 1: Ataques DoS firewall (imagine férias em outro Se as regras do módulo Recent não forem cuidadosamente definidas, pode-se país, por exemplo), vamos permitir facilmente abrir uma entrada para ataques de negação de serviço (Denial of todos os endereços. Uma rápida Service, ou DoS). Um agressor poderia enviar um pacote UDP com um ende- reço de origem forjado como se fosse originado no alvo do ataque. O firewall verificação dos arquivos de regis- detectaria um ataque e bloquearia o suposto culpado, o que poderia levar à tro revela que o firewall registrou perda de comunicação com o principal cliente da empresa, por exemplo. 207 ocorrências de acesso ilegal Para evitar esse problema, é necessário tomar muito cuidado ao especificar (varreduras de portas e ataques as condições sob as quais o firewall deve adicionar uma máquina à lista ne- gra (-m recent --set). É importante avaliar apenas pacotes TCP após com- Rumpelstiltskin). pletar a etapa de handshake, pois a adulteração de IP se torna muito mais di- O módulo Recent foi acionado fícil após essa etapa. Também é interessante tomar providências para evitar 187 vezes e impediu a conexão. a possibilidade de incluir na lista negra máquinas externas críticas, como o MX secundário de seu provedor ou os endereços da VPN usados pelos pró- Apenas dez conexões foram esta- prios funcionários de sua empresa. belecidas, e todas falharam na fase da autenticação no SSH. O módu- Exemplo 3: Syslog-NG lo Limit do Iptables foi acionado 01 filter f_snort { dez vezes; sua tarefa é restringir a 02 facility(auth) and match(“snort”) and match(“Priority: 1”); conexão a uma taxa razoável – os 03 }; 04 destination snort { agressores não conseguiram des- 05 program(“/usr/local/sbin/bloqueio.pl”); cobrir uma porta aberta em 95% 06 }; dos casos. 07 log { O autor do módulo Recent na 08 source(src); 09 filter(f_snort); realidade sugere que se adicione 10 destination(snort); -m recent --set para aumentar 11 }; a última regra de bloqueio do firewall (política padrão). Isso bloco de endereços. Essa técnica (veja o quadro 1), e também não acrescentaria todos os pacotes possui a vantagem de ser efetivada detecta varreduras de portas ini- desconhecidos à lista negra, mas no momento em que o primeiro ciadas no meio do bloco de en- medidas drásticas assim normal- pacote é recebido, e não após dereços, ou cuja ordem de portas mente acabam sendo contrapro- um período específico depois de seja aleatória. ducentes. Na verdade, é muito recebido um número de pacotes mais razoável tomar o cuidado pré-estabelecido. de bloquear apenas as tentativas Como essas armadilhas de en- Experiência conta maléficas de comunicação. dereços impedem toda a comu- Como exemplo prático, vejamos nicação, o método é bastante o SSH, muito utilizado para ge- Conveniência com seguro. Entretanto, essa técnica renciamento remoto. Como é não protege a máquina contra impossível saber de antemão qual o FWBuilder o spoofing (adulteração) de IPs endereço será usado para acessar o O Firewall Builder[5], uma das melhores interfaces gráficas para firewalls em Linux, facilita a cria- ção de regras intuitivas de firewall, além da geração do script do fi- rewall e sua instalação. Com alguns macetes, é possível adicionar regras para o módulo Recent. O primeiro passo do processo é adicionar al- guns novos serviços. Na interface gráfica, selecione User | Services | Custom (veja a figura 2). É preciso definir um serviço re- Figura 2 Serviços personalizados no Firewall Builder oferecem ao administrador o cent_update personalizado da mesma controle sobre o módulo Recent através da interface gráfica. Neste exemplo, maneira, o que é mapeado para -m -m recent --set é mapeado para o equivalente gráfico recent_set. recent --update. Os administradores

64 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Módulo Recent do Netfilter | SYSADMIN

Figura 3 Esse conjunto de regras para um firewall simples detecta ataques de forma autônoma, e adiciona seus endereços IP de origem à lista negra. Para isso, ele usa um serviço personalizado para controlar o módulo Recent. mais cautelosos provavelmente pre- Aplicativos externos Use a imaginação ferem adicionar -i interface_externa O módulo Recent permite o uso Esses exemplos simples indicam a suas definições. de aplicativos externos para se mo- o tipo de flexibilidade oferecida Para suportar as armadilhas no dificar a lista negra. Esse recurso pela adição do módulo Recent à início e no fim do bloco de endere- é interessante, pois aplicativos configuração de um firewall. No ços, podemos rapidamente instalar IDS como o Snort geralmente caso de ataques no dia zero (isso uma máquina falsa com um ende- têm muito mais conhecimento é, assim que uma falha no sistema reço interno. Duas regras de NAT do que o firewall acerca dos ti- é descoberta) ou patches que não passam os endereços de início e pos de comunicação que devem funcionam perfeitamente, analisar fim do bloco de endereços externo ser permitidos. os registros do aplicativo ou inte- para essa máquina. A figura 3 mostra A configuração do Snort mos- grar a saída de um IDS pode aju- como isso se reflete sobre as regras trada no exemplo 2 garante que o dar na construção de um sistema do firewall. IDS relatará todos os eventos como muito eficiente de impedimento O FWBuilder possui algumas alertas do Syslog, e lhes atribuirá de invasão. ■ surpresas escondidas. Para lidar uma prioridade de LOG_ALERT. com regras complexas com múl- O Syslog-NG[6] filtra todos os tiplas origens e destinos, o progra- eventos que contêm as cadeias Mais Informações ma gera algumas regras com suas de caracteres snort e Priority: 1 [1] Módulo Recent do Iptables: próprias correntes que consultam (linha 2 do exemplo 3) e os envia http://www.snowman.net/ os objetos seqüencialmente. Nes- para um script Perl (linha 5). O projects/ipt_recent/ se caso, uma chamada ao módulo script de bloqueio é mostrado no [2] Netfilter (Iptables): Recent pode adicionar o endereço exemplo 4. Se as entradas do re- http://www.netfilter.org em questão à lista negra logo no gistro contiverem uma assinatura [3] Quem bate? Flávio do Carmo início, embora se possa descobrir de 1810 com uma prioridade de 1 Júnior, Linux Magazine 26, mais tarde que a regra não se apli- (sucesso no ataque por SSH, linha pg. 48, dezembro de 2006. ca. Evidentemente, todas as comu- 4), o script adicionará o endereço [4] Snort: http://www.snort.org nicações subseqüentes já foram IP do agressor à lista BLOCK do [5] Firewall Builder: interrompidas nesse momento. módulo Recent (linha 5). http://www.fwbuilder.org A única coisa que se pode fazer é Nesse cenário, o script do fi- [6] Syslog-NG: manter a regra suficientemente rewall precisa processar a lista http://www.balabit. simples para que o FWBuilder não BLOCK antes das linhas que con- com/products/syslog-ng/ use uma nova corrente e verificar têm ESTABLISHED,RELATED, pois a co- http://www.balabit.com/ manualmente os conjuntos de re- nexão já foi estabelecida quando o products/syslog-ng/ gras gerados pelo programa. bloco é imposto. O autor Exemplo 4: Script bloqueio.pl Michael Schwartzkopff trabalha para a Mul- 01 #!/usr/bin/perl tinet Services GmbH, na Alemanha, como con- 02 # /usr/local/sbin/blocker.pl sultor de segurança e redes. Sua especialida- 03 while (<>) { de é o protocolo SNMP. Ele pegou a “gripe do 04 if ( /.*\[1:1810:12\].* -> ((\d{1,3}\.){3}(\d{1,3|)/ )/ ) { Linux” lá atrás, em 1994, depois de trabalhar 05 system “echo $1 >/proc/net/ipt_recent/BLOCK”; com a Yggdrasil, uma das primeiras distribui- 06 } ções Linux.http://www.exactcode.de/ 07 } oss/openbench/

Linux Magazine #32 | Julho de 2007 65 © Linux New Media do Brasil Editora Ltda. Integre seu servidor Samba a uma base OpenLDAP Integrado é mais fácil

Se você acha entediante administrar múltiplas bases de autenticaçãoautenticação,, veja como integrar o Samba ao OpenLDAP para gerenciar todas as bases de forma centralizada. SYSADMIN por Diogo Nunes de Oliveira

Lars Sundström - www.sxc.hu

descentralização de informa- haverá a descentralização de dados,dados, O focofoco destedeste artigoartigo é demonstrardemonstrar ções sempre foi um problema e o aadministradordministrador ssempreempre tteráerá ttraba-raba- como implementar uma integra- Apara os administradores de lholho adicionaladicional porpor precisarprecisar sincronizarsincronizar ção do Samba [2] com o LDAP . sistemas Linux. É entediante e re- esses bancos de dados manualmente O motivo de explorarmos a con- dundante manipular dados de con- ou através de scripts. figuração dessa integração é seu tas de usuários e senhas de alguns A solução para esse problema, maior nível de dificuldade quando serviços em bases diferentes. Por no caso de sistemas Windows®, comparada a outras aplicações, já exemplo, o banco para autenticação seria um inequívoco “Active Di- que o Samba possui seu próprio do servidor web Apache geralmen- rectory”. O Active Directory da arquivo de esquema , diferente- te é um arquivo defi nido através Microsoft é a implementação do mente de outras aplicações, como de htpasswd, bem como o do proxy protocolo LDAP ( Lightweight Di- Apache e Squid. Squid. Enquanto isso, o servidor de rectory Access Protocol). Quanto à instalação dos pacotes arquivos e impressoras Samba tem Para Linux, a implementação mais di- necessários, isso depende da distri- seu próprio arquivo, tanto para o mé- fundida do protocolo é o OpenLDAP [1]. buição em uso. No Mandriva, os todo smbpasswd quanto utilizando Atualmente, a maioria das aplicações já pacotes necessários são openldap-ser- o trivial database. podem ser integradas, pois estão sendo de- vers, openldap-clients e openldap (a As confi gurações de autenticação senvolvidas com suporte a esse protocolo, versão utilizada no artigo é a 2.3.6-4). para esses serviços podem ser feitas e as informações necessárias às mesmas Também é necessário ter a Berkeley de formas diferentes, mas ainda assim farão uso de uma base já implementa- Database 4 instalada, que exige os da, na qual os atributos pacotes libdb4.2, libdb4.2-devel e necessários já estarão db42-utils. Durante a instalação, um prontos, bastando indi- problema pode ocorrer ao realizar a car quais utilizar. instalação pelo tarball. A coleta de Exemplo 1: arquivo LDIF ... dn: dc=exemplo,dc=com objectClass: top objectClass: domain objectClass: domainRelatedObject dc: exemplo associatedDomain: exemplo.com autenticação, veja como integrar o Samba ao OpenLDAP Figura 1 Estrutura hierárquica do domínio exemplo.com. para gerenciar todas as bases de forma centralizada.

haverá a descentralização de dados, O foco deste artigo é demonstrar e o administrador sempre terá traba- lho adicional por precisar sincronizar

66 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. informações do sistema pelo coman- No arquivo slapd.conf, a diretiva do configure pode não encontrar a include indica quais arquivos de es- biblioteca dinâmica da Berkeley quema o OpenLDAP utilizará. Alguns Database, mesmo que ela já esteja já vêm por padrão, e outros devem instalada. É necessário criar um link ser adicionados, como é o caso do simbólico em /usr/lib, apontando esquema utilizado pelo Samba. No para os arquivos de biblioteca que Mandriva 2006, a linha abaixo já estavam em /usr/lib/db4: está inserida no slapd.conf:

ln -s /usr/lib/db4/libdb-4.so / include /usr/share/openldap/ ➥usr/lib ➥schema/samba.schema

Se a instalação tiver sido realizada Quando essa linha não estiver pre- a partir do código-fonte e não tiver sente, será preciso pesquisar onde se sido empregada a opção --prefix no encontra o esquema correto, e então comando configure, a instalação será indicá-lo. É importante saber que feita em /usr/local/. Sendo assim, esse arquivo vem no pacote openl- os arquivos de configuração estarão dap-servers. em /usr/local/openldap. Se a insta- A diretiva suffix indica a base da lação tiver sido feita a partir de um estrutura LDAP, que geralmente é pacote pré-compilado, como associada ao domínio, como em: ou RPM, o diretório com arquivos de configuração será /etc/ldap ou suffix “dc=exemplo,dc=com” /etc/openldap. Antes do início da implementação, rootdn representa o DN (distingui- é necessário decidir como ficará sua shed name) do administrador LDAP. estrutura hierárquica. Geralmente Pode ser qualquer DN, visto que o se associa a raiz LDAP ao domínio, usuário root, para o LDAP, não é e abaixo dessa raiz vêm as unidades especial. Um exemplo seria: organizacionais, que são os ramos ou divisões da estrutura. A figura 1 rootdn “cn=manager,dc=exemplo,dc exemplifica uma estrutura comu- ➥=com” mente implementada. A criação dessa estrutura será fei- A opção rootpw abriga a senha ta pelas ferramentas smbldap-tools. do administrador LDAP. O padrão Porém, é necessário decidir quais é secret em texto puro, mas, por nomes serão dados a cada nível e motivos óbvios, não deve ser utili- ramo, de forma que a ferramenta zado. Para gerar um hash de senha, possa criá-los. Seguindo o exemplo utilize o comando slappasswd -h da figura 1, nossa base será represen- {FUNÇÃO}. Para utilizar SSHA, dessa tada por dc=exemplo,dc=com. forma, o comando seria slappasswd -h {SSHA}. Coloque o hash gerado no arquivo slapd.conf, com uma slapd.conf linha semelhante a: O primeiro arquivo de configura- ção a ser editado é o /etc/openldap/ rootpw {SSHA}oH1DcRjF6TNgsUeHh52 slapd.conf. Esse arquivo recebe as ➥ekQVl+AHaF1IP configurações do servidor LDAP, enquanto no outro arquivo, /etc/ directory indica o diretório onde openldap/ldap.conf, inserimos as con- os arquivos da base LDAP serão gra- figurações a serem utilizadas pelos vados e administrados pelo banco clientes LDAP. de dados: ➧

Linux Magazine #32 | Julho de 2007 © Linux New Media do Brasil Editora Ltda. SYSADMIN | Samba e LDAP

directory /var/lib/ldap quais atributos podem ser acessados, access to * e de que forma: by dn=”cn=Manager,dc=exe A diretiva Index informa quais ➥mplo,dc=com” write atributos devem ser utilizados como access to attrs=userPassword,sam by * read índice para realizar consultas de ➥baLMPassword,sambaNTPassword forma mais rápida. Alguns índices by anonymous auth A configuração básica do servidor devem ser pesquisados de forma by self write LDAP para integração com o Sam- igualitária (eq), na qual somente by * none ba já está pronta, e podemos agora interessa a entrada registrada igual salvar o arquivo. ao conteúdo pesquisado. Os de- Esse exemplo de ACL indica mais índices são pesquisados por que os atributos referentes à senha segmento de seu texto (subinitial). (userPassword para senhas Unix, sam- ldap.conf As linhas abaixo provavelmente já baLMPassword e sambaNTPassword para O arquivo ldap.conf requer basica- estarão inseridas no arquivo de con- senhas Windows) podem ser aces- mente duas diretivas. Enquanto base figuração, porém é preciso notar sados por anônimos para que pos- indica a base LDAP, host informa o o uso do atributo sambaSID. Caso sam se autenticar. Esses atributos nome do servidor LDAP: ele já não venha em seu arquivo, de cada entrada – conhecida como deve ser adicionado. registro em bancos de dados rela- base “dc=exemplo,dc=com” cionais – podem ser alterados pelo host localhost index objectClass,uid,uidNumber, dono da entrada na base LDAP. Os ➥ gidNumber,memberuid,sambaSID eq outros usuários não podem sequer A finalidade do arquivo ldap.conf é index cn,mail,surname,givenname lê-los – afinal, são atributos que ar- fazer com que aplicativos que necessitem ➥ eq,subinitial mazenam a senha. Quanto aos ou- acessar o servidor LDAP saibam como tros atributos, todos podem lê-los, e fazê-lo. Sem ele, é impossível saber em Ao final, criamos as listas de con- o administrador LDAP tem direito qual máquina da rede se encontra essa trole de acesso (ACLs), indicando de escrita nos mesmos. base, ou qual a raiz de sua estrutura.

Exemplo 2: arquivo /etc/samba/smb.conf 01 [global] 02 netbios name = pdc 03 workgroup = dominio_exemplo 04 # Base LDAP na qual o Samba deve realizar a autenticacao. 05 passdb backend = ldapsam:ldap://127.0.0.1 06 # DN do Administrador LDAP (Manager, no caso) 07 ldap admin dn = cn=Manager,dc=exemplo,dc=com 08 # DN da base LDAP 09 ldap suffix = dc=exemplo,dc=com 10 # ‘ou=’ é o ramo da estrutura LDAP destinada à máquinas. O Samba presume que esse ramo fica abaixo da base, 11 # ou seja, ou=Hosts,dc=exemplo,dc=com 12 ldap machine suffix = ou=Hosts 13 # Ramo de usuários, semelhante a ‘ldap machine suffix’, mas para usuários 14 ldap user suffix = ou=Pessoas 15 # Ramo de grupos, semelhante a ‘ldap machine suffix’, porém para grupos. 16 ldap group suffix = ou=Grupos 17 # A linha a seguir só é necessária se a entrada ‘hosts’ apontar para ‘ldap’ em /etc/nsswitch.conf. 18 add machine script = /usr/sbin/adduser -n -r -g machines -c “Maquinas Samba” -d /dev/null -s /bin/false %u 19 # Para mapear número de identificação de usuários e grupos: 20 idmap uid = 16777216-33554431 21 idmap gid = 16777216-33554431 22 wins support = yes 23 # Quando o usuário alterar a senha, tanto os atributos sambaNTPassword quanto sambaLMPassword e userPassword 24 # serão alterados, gerando uma sincronização de senhas em todos os sistemas (Windows, Samba e Unix). 25 ldap passwd sync = yes 26 # Utilizar SSL? 27 ldap ssl = off 28 # Quando o usuário for removido do Samba, deve também ser removido do LDAP? 29 ldap delete dn = no

68 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Samba e LDAP | SYSADMIN

Exemplo 3: arquivo smbldap.conf (trecho) 01 SID=”S-1-5-21-421037436-1646108894-402719166” 02 # Domínio netbios 03 sambaDomain=”dominio_exemplo” 04 # Servidor LDAP 05 masterLDAP=”127.0.0.1” 06 # Porta do LDAP 07 masterPort=”389” 08 # Utilizar SSL? 09 ldapTLS=”0” 10 # Base/raiz LDAP 11 suffix=”dc=exemplo,dc=com” 12 # Qual unidade deve ficar logo acima dos usuários? 13 usersdn=”ou=Pessoas,${suffix}” 14 # Ramo para Hosts 15 computersdn=”ou=Hosts,${suffix}” 16 # Ramo para Grupos 17 groupsdn=”ou=Grupos,${suffix}” 18 # Ramo para o mapeamento dos números Unix e Windows 19 idmapdn=”ou=Idmap,${suffix}” 20 # Onde armazenar a próxima ID 21 sambaUnixIdPooldn=”sambaDomainName=dominio_exemplo,${suffix}” 22 # Shell do usuário 23 userLoginShell=”/bin/bash” 24 # Home do usuário 25 userHome=”/home/%U” 26 # Permissões para criação do home do usuário 27 userHomeDirectoryMode=”700” 28 # Descrição do usuário 29 userGecos=”Usuario do Sistema” 30 # GID do usuário. 513 significa “Domain Users” 31 defaultUserGid=”513” 32 # GID do computador 33 defaultComputerGid=”515” Figura 2 O canto esquerdo da tela do 34 # Diretório com os arquivos a serem copiados para o home do PhpLDAPadmin mostra as estruturas ➥ usuário armazenadas na base de dados LDAP. 35 skeletonDir=”/etc/skel” 36 # Validade (em dias) para a senha usuário 37 defaultMaxPasswordAge=”60” Após a adaptação, carregue o ar- 38 # Home do usuário em máquinas Windows98 quivo LDIF com o comando: 39 userSmbHome=”\\pdc\%U” 40 # Localização do perfil remoto 41 userProfile=”\\pdc\profiles\%U” # slapadd -v < /etc/openldap/ 42 # Unidade mapeada para o home do usuário (Windows XP, 2000 e 2003) ➥base.ldif 43 userHomeDrive=”H:” O próximo passo é iniciar o ser- Uma ferramenta que será apresentada retivas referentes à integração do vidor LDAP e indicar ao Samba a adiante, ldapsearch, realiza consultas à samba ao LDAP. Apenas essas dire- senha de seu administrador. Note base LDAP, lendo o arquivo ldap.conf tivas são explicadas nos comentários, que a senha realmente precisa ser para obter essas informações. visto que o foco deste artigo não é a informada na linha de comando. configuração do samba como PDC Em seguida, deve-se iniciar o ser- (controlador de domínio primário), vidor Samba e conferir o SID, um Samba e sim sua integração ao LDAP. número de identificação do domí- Podemos agora iniciar a configuração Feito isso, a próxima etapa é criar nio, necessário na configuração do do samba. Os pacotes necessários são a estrutura inicial no banco Berkeley. smbldap-tools e também para regis- libsmbclient, samba-common, samba- Para isso, deve-se criar um arquivo trar esse SID na base LDAP: client e samba-server. A versão dos no formato LDIF (LDAP Data In- pacotes do Samba utilizados para terchange Format). A sintaxe correta # service ldap start; smbpasswd este artigo foi a 3.0.20-3. O exemplo desse arquivo é mostrada no exemplo ➥-w senha_secreta 2 exibe o arquivo smb.conf, no qual 1, e deve ser adaptada de acordo com # service smb start; net ➧ é preciso inserir algumas novas di- a raiz e o domínio usados. ➥getlocalSID dominio_exemplo

Linux Magazine #32 | Julho de 2007 69 © Linux New Media do Brasil Editora Ltda. SYSADMIN | Samba e LDAP

Exemplo 4: Saída do script smbldap-populate populate. Porém, é importante, antes 01 Populating LDAP directory for domain dominio_exemplo (S-1-5-21-421037436- de executá-la, verificar se o arquivo ➥ 1646108894-402719166) /usr/sbin/smbldap-populate contém a 02 (using builtin directory structure) 03 entry dc=exemplo,dc=com already exist. seguinte linha descomentada, que faz 04 adding new entry: ou=Pessoas,dc=exemplo,dc=com referência ao atributo que irá armaze- 05 adding new entry: ou=Grupos,dc=exemplo,dc=com nar o próximo UID livre para a criação 06 adding new entry: ou=Hosts,dc=exemplo,dc=com de um novo usuário ou grupo: 07 adding new entry: ou=Idmap,dc=exemplo,dc=com 08 adding new entry: uid=root,ou=Pessoas,dc=exemplo,dc=com 09 adding new entry: uid=nobody,ou=Pessoas,dc=exemplo,dc=com $config{sambaUnixIdPooldn}=”samb 10 adding new entry: cn=Domain Admins,ou=Grupos,dc=exemplo,dc=com ➥aDomainName=$domain,$config{suff 11 adding new entry: cn=Domain Users,ou=Grupos,dc=exemplo,dc=com ➥ix}”; 12 adding new entry: cn=Domain Guests,ou=Grupos,dc=exemplo,dc=com 13 adding new entry: cn=Domain Computers,ou=Grupos,dc=exemplo,dc=com 14 adding new entry: cn=Administrators,ou=Grupos,dc=exemplo,dc=com Após executar o script smbldap-popu- 15 adding new entry: cn=Account Operators,ou=Grupos,dc=exemplo,dc=com late, a saída mostrada deve ser seme- 16 adding new entry: cn=Print Operators,ou=Grupos,dc=exemplo,dc=com 17 adding new entry: cn=Backup Operators,ou=Grupos,dc=exemplo,dc=com lhante ao conteúdo do exemplo 4. 18 adding new entry: cn=Replicators,ou=Grupos,dc=exemplo,dc=com Através do comando ldapsearch, 19 adding new entry: sambaDomainName=exemplo,dc=exemplo,dc=com utilizado para consultar a base LDAP, 20 entry sambaDomainName=dominio_exemplo,dc=exemplo,dc=com already exist. é possível perceber que vários ramos ➥ Updating it... 21 Please provide a password for the domain root: (unidades organizacionais) foram cadas- 22 Changing password for root trados, bem como as contas dos usuários 23 New password : root e nobody. O exemplo 5 procura no 24 Retype new password : LDAP a entrada que possui o atributo uid (utilizado como login) com valor root Smbldap-Tools ao servidor LDAP com permissão de e mostra seus outros atributos e valores. A Integração entre o Samba e o LDAP escrita. Como em nossa configuração Essa pesquisa é feita conectando-se ao já está feita. Porém, para realizar o de exemplo não temos um servidor servidor como o usuário administrador cadastramento de novos dados, seria LDAP escravo, podemos apagar as li- LDAP, e, por esse motivo, os atributos necessário criar um arquivo LDIF nhas referentes a slave, e nosso arquivo de senha (userPassword, LMPassword e com todos os atributos necessários e deve ficar semelhante a: NTPassword) são exibidos. desejáveis – tanto atributos do sistema Antes de tentar ingressar no domínio quanto do Samba –, o que não deixa masterDN=”cn=Manager,dc=exemplo, com um cliente Windows, verifique se de ser uma tarefa árdua. Para torná-la ➥dc=com” o próprio servidor consegue fazê-lo: mais fácil, a IDEALX[3] desenvolveu masterPw=”password” as ferramentas smbldap-tools. Elas fa- # net rpc join -U root cilitam a criação das unidades orga- Em seguida, edite o arquivo /etc/sm- Password: nizacionais necessárias, assim como bldap-tools/smbldap.conf, indicando ao Joined domain DOMINIO_EXEMPLO a inserção de dados – criação de usu- smbldap-tools algumas informações que ários já com os atributos referentes essa ferramenta deve conhecer, além Se a saída do comando for seme- ao Samba, por exemplo – e também das configurações a serem estabeleci- lhante a essa, então a máquina ingres- permite o gerenciamento de uma for- das relativas ao domínio, ao LDAP e ao sou no domínio DOMINIO_EXEM- ma simplificada, como a alteração e Samba. O exemplo 3 mostra apenas as PLO. Para ingressar em um domínio remoção de usuários e grupos. diretivas que devem ser alteradas para NetBIOS, é necessário que a máquina Com uma instalação a partir de um uma configuração adequada. possua uma conta no PDC. É verda- pacote RPM ou DEB, o diretório /etc/ Neste momento, as ferramentas de que não criamos uma conta para smbldap-tools/ será criado (recomenda-se incluídas no pacote smbldap-tools, es- a máquina chamada pdc, mas inseri- a versão 0.8 ou acima). Dos dois arquivos critas em Perl, já estão configuradas e mos no arquivo smb.conf a diretiva add que precisamos alterar, primeiro vamos já podem ser utilizadas. Para criar toda machine script, indicando o comando configurar o smbldap_bind.conf. a estrutura necessária, como unidades a ser utilizado pelo Samba para cadas- Neste arquivo, devemos informar os organizacionais referentes a grupos, trar automaticamente uma máquina administradores e senhas dos mesmos usuários e máquinas, e também as caso esta ainda não tenha uma conta. para os servidores LDAP, para que, então, informações necessárias ao Samba, O comando adduser (ou useradd) é uti- a ferramenta possa realizar a conexão utilizaremos a ferramenta smbldap- lizado para criar no sistema – mais es-

70 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Samba e LDAP | SYSADMIN

Exemplo 5: O comando ldapsearch # ldapsearch -x -LLL -D cn=manager,dc=exemplo,dc=com -W uid=root Enter LDAP Password: dn: uid=root,ou=Pessoas,dc=exemplo,dc=com cn: root sn: root objectClass: inetOrgPerson objectClass: sambaSamAccount objectClass: posixAccount objectClass: shadowAccount gidNumber: 0 uid: root uidNumber: 0 homeDirectory: /home/root sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 sambaHomePath: \\pdc\root sambaHomeDrive: H: sambaProfilePath: \\pdc\root\profiles sambaPrimaryGroupSID: S-1-5-21-421037436-1646108894-402719166-512 sambaSID: S-1-5-21-421037436-1646108894-402719166-500 loginShell: /bin/false gecos: Netbios Domain Administrator sambaLMPassword: E52CAC67419A9A224A3B108F3FA6CB6D sambaAcctFlags: [U] sambaNTPassword: 8846F7EAEE8FB117AD06BDD830B7586C sambaPwdLastSet: 1169665940 sambaPwdMustChange: 1174849940 userPassword:: e1NTSEF9QjdDeHdtbG5YZDNSNEpSUkpSWUJabU1OWlIxemJDNDU= pecificamente, no arquivo /etc/passwd Feito isso, para ingressar no domínio, tem fácil instalação e configuração, – o novo usuário, enquanto o LDAP já basta configurar as estações. Quando e seu uso também é simples, como pode ser tratado pelo próprio Samba, o usuário realizar a autenticação no mostra a figura 2. sem programas externos. domínio e pressionar [Ctrl]+[Alt]+[Del], Visto que a estrutura já está criada, sua senha será atualizada e sincronizada daqui para a frente basta utilizar as com o atributo userPassword utilizado Conclusão ferramentas do smbldap-tools para pelos outros aplicativos. A integração do OpenLDAP ao Samba criar, remover e alterar usuários e 3 requer um certo tempo de dedicação grupos. Antes de ir a um cliente Win- até se atingir a etapa em que sua admi- dows para ingressar no domínio, crie Interface web nistração fique simples. Porém, uma vez no servidor Samba um usuário: Todas as etapas necessárias para a sonha- alcançado esse ponto, as facilidades trazi- da integração foram realizadas, e a ferra- das ao administrador da rede são visíveis, # smbldap-useradd -a usuario1 menta smbldap-tools já pode ser utiliza- pois as senhas de todos os serviços ficam # smbldap-passwd usuario1 da. Outros scripts desse pacote também sincronizadas a todo momento. ■ Changing password for usuario1 podem e devem ser empregados, como New password : smbldap-userdel (para remover usuários) Mais Informações Retype new password : e smbldap-groupadd (para adicionar um [1] OpenLDAP: novo grupo), mas a idéia principal em http://www.openldap.org A opção -a faz com que a entrada cria- configurar esse conjunto de ferramentas [2] Samba: http://www.samba.org da para usuario1 não possua somente é a utilização da ferramenta smbldap- [3] IDEALX: http://idealx.org atributos referentes à conta de sistema populate, como mostrado, para criar as Linux (como a shell do usuário e seu unidades organizacionais. diretório home), mas também atributos Aos amantes das intuitivas interfa- O autor referentes a um cliente Samba (como ces gráficas, fica a sugestão do popular Diogo Nunes de Oliveira possui certificação unidade mapeada para o home e lo- PhpLDAPadmin. Essa interface web LPIC1, é instrutor Mandriva e em seu mestrado calização do perfil remoto). para administração da base LDAP testa a gerência de redes PLC com Software Livre.

Linux Magazine #32 | Julho de 2007 71 © Linux New Media do Brasil Editora Ltda. Desenvolvimento acelerado de aplicativos com Ruby e Glade Henrik Gerold Vogel - www.pixelio.de Interface preciosa

O desenvolvimento de aplicativos gráficos não deveria ser complicado. Veja como simplificar esse processo com Ruby e o utilitário Glade. por Ryan Paul PROGRAMAÇÃO

Mesmo os desenvolvedores mais ex- com Ruby e Glade. Mostraremos am- que ele faz do carregamento em tempo perientes podem ficar cansados do bas as ferramentas em ação, enquanto de execução, em vez de gerar código ciclo de edição-compilação-e-teste. criamos um aplicativo capturador de estático, ele não é específico para uma Felizmente, algumas ferramentas de telas de exemplo, o Captura. linguagem, o que significa que arquivos código aberto eliminam o peso desse A sintaxe orientada a objetos concisa do Glade podem ser usados com qual- processo, permitindo que os progra- e expressiva do Ruby leva a um desen- quer linguagem de programação para madores voltem sua atenção à funcio- volvimento acelerado. Programas em a qual haja ligações (bindings) para o nalidade, em vez de todos os detalhes Ruby bem escritos são fáceis de ler, Glade. O carregamento em tempo de arbitrários de implementação. entender e manter. Há uma grande va- execução também reduz o tempo ne- Com as linguagem de programação riedade de bibliotecas de programação cessário para os testes, já que não são dinâmicas e utilitários de criação de disponíveis para essa linguagem, o que necessários passos adicionais entre a interface versáteis, até mesmo progra- a torna muito usada na tarefa de “colar” modificação da interface e a execução madores relativamente inexperien- funcionalidades de fontes externas. A es- do programa que a utiliza. tes conseguem construir aplicativos calabilidade do Ruby ainda oferece um complexos com pouco esforço. Uma caminho suave, que facilita a evolução combinação de ferramentas bastante de scripts de linha de comando para Primeiros passos promissora é composta pela linguagem utilitários gráficos com menus, barras O utilitário de construção de interfa- Ruby e o sistema de desenvolvimento de ferramentas e caixas de texto. ces Glade compreende quatro janelas de interfaces Glade. O Glade é um sistema de desen- flutuantes. A janela de projeto lista os A versátil e expressiva linguagem volvimento de interfaces baseado no formulários associados ao projeto atu- Ruby permite que os desenvolvedores toolkit GTK+. Ele consiste em um al, enquanto a janela Paleta oferece escrevam programas que executem mais programa de construção de interfaces acesso a todos os widgets e controles tarefas com menos código. O Glade e um conjunto de bibliotecas para faci- GTK acessíveis no Glade. A janela de traz o poder do toolkit GTK+, possi- litar o carregamento e a manipulação propriedades mostra vários atributos do bilitando a criação fácil de interfaces de interfaces. widget selecionado e a janela da árvore gráficas para aplicativos em Ruby. O construtor de interfaces suporta de widgets apresenta uma hierarquia de Neste artigo, serão mostrados todas as a criação de interfaces com o mou- todos os controles utilizados no projeto etapas para a criação de um aplicativo se e gera simples arquivos XML de atual. Quando o Glade é iniciado, todas descrição de interface. Os desenvol- as janelas estão vazias ou desativadas, vedores usam as bibliotecas do Glade até que seja criado um projeto. para tratar os arquivos XML e gerar Para iniciar um novo projeto, se- interfaces GTK na memória durante lecione Novo no menu Projeto na a própria execução. O programa en- janela de projetos (figura 1). Ao iniciar tão consegue exibir e manipular essas um novo projeto, os usuários precisam interfaces como se houvessem sido optar entre GTK e Gnome. Apesar de feitas manualmente em GTK. os projetos para Gnome terem acesso Figura 1 A janela do projeto lista todas as janelas de nível mais alto O Glade oferece várias vantagens a um conjunto maior de widgets, os e diálogos incluídos no atual únicas em relação às outras ferramentas projetos em GTK são mais portáveis e projeto do Glade. de criação de interfaces. Devido ao uso possuem menos dependências. Neste

72 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Ruby e Glade | PROGRAMAÇÃO

tutorial será mostrada a criação de um necessário apenas digitar o novo nome ficar a quantidade de projeto GTK. na caixa de texto de propriedade de espaço em branco que Após criar um novo projeto, a ja- Nome. Para o utilitário de captura de o aplicativo deve mos- nela Paleta (figura 2) ficará acessível. tela, especifique a propriedade Nome trar entre cada par de Ela inclui botões para a categoria e o da janela como janelaCaptura. A pro- linhas, pode-se usar a widget. Cada categoria contém alguns priedade Título é usada para especificar propriedade Espaça- widgets que podem ser incluídos nos o texto que aparecerá na barra de título mento. Para modificar programas do Glade. O usuário pode da janela. Para este exemplo, vamos novamente as proprie- alternar entre categorias clicando nos alterar o valor dessa propriedade para dades da janela, selecio- respectivos botões. A categoria Bá- Ferramenta de Captura de Tela. Apesar ne a janela na árvore de sico inclui vários widgets freqüente- de muitas outras propriedades de janelas widgets. É possível usar mente usados em aplicativos simples. estarem disponíveis, este artigo tratará a árvore de widgets para Adicional contém widgets um pouco apenas das propriedades relevantes para selecionar e manipular mais obscuros, mas ainda usados com o aplicativo de exemplo. Os usuários qualquer widget do pro- freqüência. A categoria Obsoleto inclui podem obter mais informações a res- grama atual. widgets que não são mais suportados, peito de outras propriedades de widgets mas ainda ocasionalmente usados por na documentação da GTK. Barra de aplicativos legados. Para selecionar um Em aplicativos GTK, os widgets são widget, clique em um dos botões em empilhados em caixas aninháveis, que menu alguma categoria. podem ser verticais, horizontais ou em Selecione o widget da grade. Essa técnica de layout é chama- barra de menu a partir da de modelo de caixa (box model). da categoria Básico da Figura 2 A janela da Layout Para determinar quais tipos de caixas paleta do Glade. Em Paleta oferece acesso a todos Para criar nosso aplicativo de captura devem ser usadas, primeiro é necessário seguida, clique dentro os widgets e de tela, vamos começar projetando a considerar a estrutura da interface do da linha superior da componentes interface com o Glade, e depois usa- aplicativo. Nossa ferramenta Captura caixa vertical. Aparece- que podem ser incluídos em remos o Ruby para associar as ações possui uma barra de menus, outra de rá uma barra de menu projetos Glade. aos eventos do programa. ferramentas, um widget de seleção de padrão, com os menus Para criar uma janela para o utilitário arquivo e um painel de pré-visualização. Arquivo, Editar, Exibir e Ajuda. Será de captura de tela, selecione o widget Os widgets serão empilhados vertical- necessário modificar os menus para Janela na categoria Básico da Paleta. Ao mente, e o painel de pré-visualização clicar nesse botão, uma nova janela será precisará crescer quando o usuário re- aberta, e a janela Propriedades (figura 3) dimensionar a janela. Para acomodar exibirá os atributos da nova janela. Com esse layout, o programa usará uma caixa o nome padrão de window1, essa janela vertical com quatro linhas. será listada automaticamente na jane- Para acrescentar à janela uma caixa la do projeto e também em sua árvore vertical, basta selecionar o widget de cai- de widgets. Quando novas janelas do xa vertical na categoria Básico da paleta Glade são criadas, seu fundo aparece do Glade. Após clicar no botão da caixa cinza e quadriculado para mostrar que vertical, clique em qualquer ponto da estão vazias. janela vazia do aplicativo, e crie quatro O primeiro item na janela de proprie- linhas no diálogo será mostrado, pois dades é o nome do widget. Os progra- nosso programa possuirá quatro widgets mas em Ruby que carregam interfaces principais. gráficas do Glade conseguem acessar e Depois de adicionar a caixa vertical, o manipular widgets individuais dentro espaço em branco na janela do utilitário da interface do usuário, referindo-se aos será particionado em quatro retângulos nomes dos widgets. Como resultado, separados, e a lista da árvore de widgets é importante especificar nomes com da janela incluirá a caixa vertical. Figura 3 A janela de Propriedades significado real para os widgets que o Para adicionar ou remover linhas permite que os desenvolvedo- programa precisará manipular. Para da caixa vertical, pode-se utilizar sua res customizem os atributos mudar o valor da propriedade Nome, é propriedade Tamanho, e para especi- de widgets.

Linux Magazine #32 | Julho de 2007 73 © Linux New Media do Brasil Editora Ltda. PROGRAMAÇÃO | Ruby e Glade

Para associar uma função ao evento itens no menu Configuração serão usa- de seleção do menu, usa-se a propriedade dos para o usuário alterar o comporta- Manipulador dos itens de menu. O valor mento do programa. Em vez de usar dessa propriedade é o nome do método manipuladores, os itens desse menu que o aplicativo invocará no código-fonte terão caixas do tipo checkbox que o quando o usuário selecionar o respectivo usuário pode marcar ou desmarcar. O item de menu. Como Configurações é estado dessas caixas será usado durante um menu, e não um item de menu, sua a execução para determinar como o propriedade Manipulador deve ficar vazia. programa opera. Apague o texto desse campo também no Para adicionar o primeiro item ao Figura 4 O Editor de Menu permite a personaliza- menu Imagem. menu Configuração, clique no botão ção dos menus do aplicativo. Em seguida, vamos acrescentar itens Adicionar Filho. Esse item permite melhor se adequarem ao programa ao menu Captura de tela. Selecione o que o usuário especifique se deseja de exemplo, então é preciso clicar item Captura de tela na árvore de itens que o programa apite após comple- com o botão direito sobre a barra de de menu e clique em Adicionar filho. tar com sucesso uma captura de menu e selecionar Editar (figura 4). Esse novo item de menu permitirá que tela. Digite na Etiqueta Não _Apitar O lado esquerdo do Editor de Menu os usuários iniciem a captura de tela. e apague o Manipulador. contém a árvore de itens do menu, e Especifique a Etiqueta como _Capture Para transformar esse item em uma o lado direito exibe as propriedades e o Manipulador como ao_capturar. checkbox, selecione Verificação no gru- do menu selecionado, com opções Quando for escrito o código-fonte do po Tipo de item. Para fazer com que de alteração do mesmo. aplicativo, o método ao_capturar será o programa por padrão não emita um Antes de acrescentar itens de menu implementado para realizar a captura apito, selecione Sim para o botão Ati- propriamente ditos, é necessário apagar da tela. Como os usuários provavelmen- vo. Como o programa acessará o valor os já existentes. Feito isso, clique em te usarão com freqüência o recurso de da checkbox em tempo de execução, Adicionar para criar um novo menu. captura de tela, é interessante atribuir- o item de menu Não Apitar precisa ter A propriedade Etiqueta especifica lhe um atalho de teclado, chamado de um valor significativo na propriedade o texto que será exibido no menu. O Acelerador. Para isso, selecione Captura Nome. Digite marcarNaoApitar no Nome primeiro item de nossa barra será o de tela na árvore de itens e especifique do item Não Apitar. menu Captura. Em diversos programas, os Aceleradores [Ctrl] e [C]. Queremos permitir que o usuário cada item do menu Em seguida, clique no botão Adicionar configure se a captura deve incluir possui uma letra su- para incluir esse item no menu. Digite as bordas das janelas. Para criar uma blinhada para indi- _Salvar na Etiqueta, selecione o Ícone opção nesse sentido, clique no botão car o que o usuário _Salvar e digite ao_salvar no Manipula- Adicionar, digite _Mostrar bordas e pode digitar junto à dor, completando com o Acelerador [Ctrl] apague o Manipulador. Para garantir tecla [Alt] para ativar + [s]. O último item do menu Captura que as capturas incluam as bordas o referido item. A de tela permitirá que o usuário feche o por padrão, deixe o Tipo de item GTK trata a funcio- programa. Clique no botão Adicionar, em Verificar e certifique-se de que nalidade do teclado especifique a etiqueta como Sai_r, o o valor da propriedade Ativo seja automaticamente, e Manipulador como ao_sair e escolha Sim. Depois, especifique o valor é possível usar um o ícone respectivo. marcarMostrarBordas na propriedade traço baixo (_) na Nosso programa de captura de tela Nome. Ao terminar a criação dos etiqueta do widget também terá um menu de configura- menus, clique em OK. para determinar qual ções. Clique no botão Adicionar para tecla a GTK deve acrescentar um novo item de menu. associar ao item de Note que é necessário tomar cuidado Barra de ferramentas menu. Digite um tra- com o nível hierárquico do novo item. Criemos agora uma barra de ferra- Figura 5 O diálogo de ço baixo logo antes Lembre-se de que o Adicionar Filho mentas na caixa vertical. Selecione o seleção de sinais da letra C de Captu- acrescenta um submenu ao item se- widget de barra de ferramentas a partir é usado para ra para que os usuá- lecionado, enquanto o Adicionar cria da categoria Básico na Paleta. Então selecionar um sinal de evento a rios consigam abrir um novo item no nível atual. Agora, clique dentro da segunda partição da ser associado a esse menu através do especifique Con_figuração na Etiqueta caixa vertical, logo abaixo do menu. um manipulador. atalho [Alt] + [C]. e apague o valor do Manipulador. Os O Glade exibirá uma caixa de diálo-

74 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Ruby e Glade | PROGRAMAÇÃO

go que pergunta quantos itens devem ao_capturar e depois adicione o botão ser incluídos na barra de ferramentas. à janela Propriedades. Nossa barra terá três botões, que exe- Selecione o segundo botão da barra cutam as mesmas operações que os de ferramentas na janela do programa. itens do menu Captura de tela, assim! Por estar associado à função de grava- é necessário especificar o valor de 3 e ção da imagem capturada, usada com clicar em OK. Muitos widgets GTK freqüência, é possível usar o botão GTK que podem ser colocados numa janela padrão, em vez de selecionar manual- também têm a possibilidade de serem mente a etiqueta e o ícone. inseridos numa barra de ferramentas. Selecione Salvar na caixa combo das Porém, nesse caso, usaremos os botões propriedades do botão GTK, no diálogo da barra de ferramentas, então o melhor de propriedades. Depois, na aba Sinais, é selecionar o botão de widget da bar- associe o manipulador ao_salvar ao sinal Figura 6 A interface finalizada do aplicativo de ra de ferramentas a partir da categoria de clique. Para ativar o último botão de captura de tela está pronta para inclusão Básico da Paleta. Em seguida, clique forma a permitir que os usuários saiam num programa em Ruby. no primeiro espaço vazio da barra de do programa, selecione o valor da pro- ferramentas para criar um novo botão. priedade Botão de Estoque como Sair é desejável que o usuário consiga gravar Preencha da mesma forma os outros e depois associe o manipulador ao_sair suas capturas diretamente num servidor espaços vazios. a seu sinal clicado. FTP para divulgá-las na Web. Neste momento, é necessário espe- Queremos incluir o recurso de vi- cificar os atributos dos novos botões. sualização da captura em tela cheia, Clique no primeiro deles, na janela de Seletor de arquivos e não apenas como uma simples mi- nosso programa, e depois selecione a aba As barras de menu e de ferramentas já niatura, pois esse é o maior defeito da Widget da janela de propriedades. Esse estão finalizadas, e a interface gráfica ferramenta nativa do Gnome. Para isso, botão realizará a função de captura. Di- da nossa ferramenta de captura de tela precisaremos de barras de rolagem. gite Capturar no campo Etiqueta e depois está quase completa. O usuário precisa Alguns widgets GTK já incluem selecione um ícone para a propriedade de uma forma de especificar o nome de suporte a barras de rolagem, mas ou- Ícone. Depois, é necessário associar esse arquivo a ser usado para salvar a imagem tros exigem sua inclusão através de um botão ao método de captura. Com o gerada. O programa poderia usar um widget de Porta de visualização. primeiro botão da barra de ferramentas diálogo convencional de gravação de Clique no ícone de Porta de visuali- selecionado na janela de nosso progra- arquivo, mas é mais ágil integrar essa zação na categoria Básico, e depois no ma, selecione a aba Sinais. funcionalidade diretamente na janela último ícone da última linha da Paleta. No GTK, os sinais são mensagens do aplicativo. Clique no widget Sele- Em seguida, clique no último espaço emitidas mediante a ocorrência de um tor de Arquivos na categoria Adicional vazio na parte de baixo da janela do evento. Nesse caso, queremos que o da paleta. Em seguida, adicione-o à futuro aplicativo. As barras de rolagem programa chame o método ao_capturar, janela do aplicativo. O arquivo-alvo de aparecerão nas bordas do espaço vazio. então é preciso detectar o evento de nosso seletor de arquivos será acessado Por padrão, as barras sempre ficarão clique do botão. Para abrir o diálogo pelo método ao_salvar, então o widget de seleção de sinal, clique no pequeno precisará de um nome que possa ser botão à direita da caixa de texto Sinal lembrado. Especifique seu nome como (figura 5). O diálogo de seleção de si- seletorDeArquivos, e altere o valor da nal lista todos aqueles que podem ser propriedade Ação para Save. emitidos pelo widget selecionado, in- A propriedade Somente Local indica cluindo os que são herdados de outros se o widget será capaz de acessar arqui- widgets. O nome do sinal selecionado vos remotos. Para realizar essa tarefa, aparecerá na caixa de texto de proprie- o aplicativo final terá que fazer uso do dade, em Sinais. Como o botão Cap- sistema de arquivos virtual do Gnome, turar fará a mesma coisa que o item de o Gnome VFS, que é capaz de ler e menu de mesmo nome, os dois devem gravar arquivos remotos com diversos Figura 7 O diálogo de Opções do Projeto permite acionar o mesmo manipulador: o mé- protocolos, incluindo FTP, SSH e SMB. que os usuários selecionem um diretório todo ao_capturar. Especifique o valor Especifique o valor de Somente Local do e um arquivo de destino para os projetos da propriedade Manipulador como widget seletor de arquivos para Não, pois do Glade.

Linux Magazine #32 | Julho de 2007 75 © Linux New Media do Brasil Editora Ltda. PROGRAMAÇÃO | Ruby e Glade

Exemplo 1: captura.rb do Projeto. Ignore as outras opções 01 #!/usr/bin/env ruby 02 desse diálogo, pois referem-se a recur- 03 # Carregar as bibliotecas necessárias sos obsoletos de geração de código. 04 require “RMagick” O arquivo .glade gerado contém os 05 require “libglade2” dados em XML relacionados à inter- 06 require “gnomevfs” 07 face gráfica. Também será gerado um 08 # Inicializar o toolkit GTK arquivo .gladep, que armazena outras 09 Gtk.init informações do projeto. 10 # Especificar a localização da captura temporária 11 $arquivo_de_captura = File.join(ENV[“HOME”], “.captura_de_tela.png”) 12 # Especificar a localização do arquivo de interface do Glade 13 $arquivo_glade = File.join(File.dirname(__FILE__), “captura.glade”) Vamos programar? 14 Para transformar o arquivo de interfa- 15 def ao_sair 16 # Sair do programa ce do Glade em um aplicativo Ruby 17 Gtk.main_quit plenamente funcional, será necessário 18 end criar um simples script em Ruby que 19 carregue o arquivo do Glade, exiba a 20 def ao_capturar 21 # Capturar a tela e salvar a imagem no disco em $arquivo_de_captura janela e associe vários eventos de inter- 22 Magick::Image.capture($glade [“checkBeep”].active?, $glade[“checkFrame”]. face a funcionalidades do aplicativo. ➥active?).write($arquivo_de_captura) Comece criando um arquivo cha- 23 # Carregar a imagem no local de pré-visualização 24 $glade[“imagePreview”].file = $arquivo_de_captura mado captura.rb conforme o exemplo 25 end 1. Salve o arquivo no mesmo diretório 26 que o arquivo captura.glade. O script 27 def ao_salvar carrega as bibliotecas necessárias com 28 # Abrir o arquivo não-exclusivamente e em modo de escrita 29 f = GnomeVFS::File.new($glade[“fileChooser”].uri, 2, false) o termo require. No caso, usaremos 30 # Gravar o conteúdo do arquivo temporário num destino a RMagick para capturar a tela, a 31 f.write(File.open($arquivo_de_captura).read) libglade2 para lidar com o arquivo 32 # Fechar o arquivo de destino de interface gerado pelo Glade e a 33 f.close 34 end gnomevfs para fornecer acesso trans- 35 parente à rede. Depois de carregar a 36 # Carregar o arquivo do Glade libglade2, o script precisa inicializar 37 $glade = GladeXML.new($arquivo_glade) {|h| method(h)} 38 a infraestrutura GTK subjacente, o 39 # Iniciar o loop principal que é feito com a linha Gtk.init. 40 Gtk.main Quando o programa captura uma tela, ele precisa gravar o arquivo de imagem visíveis. Para fazer com que somente janelaCaptura na árvore de widgets, num local temporário. Por conveniência, apareçam quando forem necessárias, navegue até a aba Sinais e selecione vamos fazer isso no diretório home do altere as políticas V e H para Automatic. destroy no diálogo que se abre. Em se- usuário, com o nome .captura_de_tela. Feito isso, é necessário adicionar o wid- guida, digite ao_sair no Manipulador png. Após inicializar a GTK, a variável get de imagem à porta de visualização, e clique no botão Adicionar. Com isso, capture_file recebe o caminho do local selecionando para isso o ícone de widget o programa invocará o método ao_sair de armazenamento temporário, através de imagem na categoria Básico. Agora, quando o usuário fechar a janela. do método File.join e a variável de am- clique no espaço vazio que receberá o biente HOME. O método File.join com- widget de imagem. O conteúdo desse bina arquivos e caminhos de diretório widget será manipulado no código-fon- Salvando o projeto com o separador de diretórios normal, te do programa, e portanto necessita de Antes de usar a interface (figura 6) em (/ em sistemas Linux). Um ENV[“HOME”] um nome com significado. Insira o valor algum script em Ruby, é necessário retorna o caminho completo do diretório previewImagem na propriedade Nome. salvar o projeto do Glade. Para tal, home do usuário. Para ter certeza de que o programa selecione Salvar no menu Projeto da Atribuído o valor correto à variável terminará quando o usuário fechar a janela de projetos. No diálogo Op- $arquivo_captura, o programa precisa janela, é necessário associar um ma- ções do projeto (figura 7), selecione especificar a localização do arquivo de nipulador ao evento de destruição o diretório onde o projeto do Glade interface do Glade. O método File.join da janela. Para isso, selecione o item será salvo, e digite Captura no Nome é usado novamente, mas dessa vez com

76 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Ruby e Glade | PROGRAMAÇÃO

o método File.dirname e o nome do ar- então associa sua propriedade de ar- Exemplo 2: Execução do programa quivo do Glade (captura.glade). quivo ao nome de arquivo guardado 01 $ chmod +x captura.rb na variável $arquivo_de_captura. 02 $ ./captura.rb O método ao_salvar salva a imagem Métodos capturada na localização especificada Agora precisamos implementar os mé- pelo usuário com o widget seletor de todos ao_sair, ao_capturar e ao_salvar. arquivo integrado. Ele também usa o Eles devem ser definidos antes de ser sistema de arquivos virtual do Gnome invocado o comando GladeXML.new, que para oferecer suporte ao acesso trans- associa esses métodos a sinais. parente a arquivos pela rede, que per- O método ao_sair contém ape- mite que os usuários salvem arquivos nas uma chamada de método, Gtk. em localizações remotas com vários main_quit, que fecha o programa. Se protocolos, incluindo FTP e SMB. quiséssemos fazer o programa abrir O método GnomeVFS::File.new abre um um diálogo para perguntar se o usuário arquivo na localização especificada para realmente deseja fechá-lo, seria este o leitura ou escrita. O primeiro parâmetro ponto para fazê-lo. enviado ao método GnomeVFS::File.new O método ao_capturar é um pouco é o caminho completo do arquivo a ser Figura 8 O aplicativo totalmente funcional está útil, mais complexo. Sua primeira linha em- aberto, que é obtido a partir da proprie- apesar de sua simplicidade. prega o método Magick::Image.capture dade URI do widget seletor de arquivos. para capturar a tela, e depois o método O segundo parâmetro determina se o Executando write para salvar a imagem no arquivo arquivo está aberto em modo de leitura Agora que nosso aplicativo está fi- temporário descrito na variável $arqui- ou de escrita. Nesse caso, usamos 2, que nalizado, é hora de pô-lo à prova. vo_de_captura. indica o modo de escrita. Para executá-lo, mude as permis- A segunda linha carrega a tela cap- O terceiro parâmetro da chamada de sões do script Ruby para torná-lo turada no painel de pré-visualização. GnomeVFS::File.new especifica se o pro- executável, e depois rode-o como O método Image.capture do módulo grama tem permissão para sobrescrever um script de shell normal (exemplo Magick recebe dois parâmetros, que arquivos pré-existentes. No exemplo 1 é 2). O programa inteiro, com apenas especificam se o programa deve apitar usado false como valor desse parâmetro, aproximadamente 20 linhas de có- após bater a foto, e se deve ser incluída indicando que arquivos pré-existentes digo, possui mais funcionalidades a moldura da janela selecionada. podem ser sobrescritos. que o capturador de telas interno Para determinar se as checkboxes A segunda linha do método ao_sal- do Gnome (figura 8). Com Ruby do menu Configuração estão marca- var abre e lê o arquivo descrito na va- e Glade, os desenvolvedores con- das, é necessário acessar esses widgets riável $arquivo_de_captura e o grava no seguem produzir aplicativos real- a partir do objeto Glade armazenado novo arquivo criado pela chamada a mente úteis com mínimo esforço na variável $glade e então usar o mé- GnomeVFS::File.new. A última linha do e grande eficiência. E o melhor todo active?. método fecha o novo arquivo. de tudo é que o uso dessas duas São usados colchetes para acessar Como usamos o GnomeVFS em ferramentas elimina a necessida- um widget de um objeto Glade. Por vez dos métodos internos de Ruby para de de compilação. O programa exemplo, para acessar a checkbox che- salvar o arquivo de imagem na locali- pode ser executado imediatamente ckFrame, usaríamos $glade [“checkFra- zação determinada, os usuários podem após a modificação, descartando me”]. No método ao_capturar, também salvar os arquivos em servidores remotos a necessidade de qualquer passo chamamos o método active? com o ou outros computadores da rede local. intermediário. widget checkFrame depois de acessá-lo Para tirar proveito dessa funcionalidade, O Glade traz diversos widgets adicio- pelo objeto Glade, com $glade [“che- um usuário Gnome primeiro precisa nais não discutidos neste artigo. Pode-se ckFrame”].active?. Faremos isso tanto conectar-se a uma máquina remota experimentar diversas ferramentas da para a configuração de checkFrame quan- selecionando Conectar ao Servidor... paleta para aprender mais a respeito das to para checkBeep, passando os valores no menu Locais do Gnome. Se ele funcionalidades oferecidas pelo fabulo- retornados, booleanos, para o método montar uma localização remota com so Glade. A documentação do Gnome Image.capture como parâmetros. o diálogo do Gnome, a localização fi- relativa ao desenvolvimento de software A última linha do método ao_cap- cará acessível no componente seletor também fornece importantes informa- turar acessa o widget imagePreview e de arquivos em nosso utilitário. ções sobre widgets específicos. ■

Linux Magazine #32 | Julho de 2007 77 © Linux New Media do Brasil Editora Ltda. Linux.local O maior diretório de empresas que oferecem produtos, soluções e serviços em Linux e Software Livre, organizado por Estado. Sentiu falta do nome de sua empresa aqui? Entre em contato com a gente: Fornecedor de Hardware = 1 11 2161-5400 ou [email protected] Redes e Telefonia / PBX = 2 Integrador de Soluções = 3 Literatura / Editora = 4 SERVIÇOS Fornecedor de Software = 5 Consultoria / Treinamento = 6

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6 Ceará F13 Tecnologia Fortaleza Rua Coronel Solon, 480 – Bairro de Fátima 85 3252-3836 www.f13.com.br ✔ ✔ ✔ ✔ Fortaleza - CE - CEP 60040-270 Espírito Santo Linux Shopp Vila Velha Rua São Simão (Correspondência), 18 – CEP: 29113-120 27 3082-0932 www.linuxshopp.com.br ✔ ✔ ✔ ✔ Megawork Consul- Vitória Rua Chapot Presvot, 389 – Praia do Can- 27 3315-2370 www.megawork.com.br ✔ ✔ ✔ toria e Sistemas to – CEP: 29055-410 sl 201, 202 Spirit Linux Vitória Rua Marins Alvarino, 150 – CEP: 29047-660 27 3227-5543 www.spiritlinux.com.br ✔ ✔ ✔ Minas Gerais Instituto Online Belo Horizonte Av. Bias Fortes, 932, Sala 204 – CEP: 30170-011 31 3224-7920 www.institutoonline.com.br ✔ ✔ Linux Place Belo Horizonte Rua do Ouro, 136, Sala 301 – Serra – CEP: 30220-000 31 3284-0575 corporate.linuxplace.com.br ✔ ✔ ✔ ✔ Microhard Belo Horizonte Rua República da Argentina, 520 – Sion – CEP: 30315-490 31 3281-5522 www.microhard.com.br ✔ ✔ ✔ ✔ ✔ TurboSite Belo Horizonte Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141 0800 702-9004 www.turbosite.com.br ✔ ✔ ✔ Paraná iSolve Curitiba Av. Cândido de Abreu, 526, Cj. 1206B – CEP: 80530-000 41 252-2977 www.isolve.com.br ✔ ✔ ✔ Mandriva Conectiva Curitiba Rua Tocantins, 89 – Cristo Rei – CEP: 80050-430 41 3360-2600 www.mandriva.com.br ✔ ✔ ✔ ✔ Rio de Janeiro NSI Training Rio de Janeiro Rua Araújo Porto Alegre, 71, 4ºandar Centro – CEP: 20030-012 21 2220-7055 www.nsi.com.br ✔ ✔ Open IT Rio de Janeiro Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120 21 2508-9103 www.openit.com.br ✔ ✔ Unipi Tecnologias Campos dos Av. Alberto Torres, 303, 1ºandar - Centro – CEP 28035-581 22 2725-1041 www.unipi.com.br ✔ ✔ ✔ ✔ Goytacazes Rio Grande do Sul Solis Lajeado Rua Comandante Wagner, 12 – São Cris- 51 3714-6653 www.solis.coop.br ✔ ✔ ✔ ✔ ✔ tóvão – CEP: 95900-000 DualCon Novo Hamburgo Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro 51 3593-5437 www.dualcon.com.br ✔ ✔ ✔ ✔ Datarecover Porto Alegre Av. Carlos Gomes, 403, Sala 908, Centro Comer- 51 3018-1200 www.datarecover.com.br ✔ ✔ cial Atrium Center – Bela Vista – CEP: 90480-003 LM2 Consulting Porto Alegre Rua Germano Petersen Junior, 101-Sl 202 – Hi- 51 3018-1007 www.lm2.com.br ✔ ✔ ✔ gienópolis – CEP: 90540-140 Lnx-IT Informação e Tecnologia Porto Alegre Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 51 3331-1446 www.lnx-it.inf.br ✔ ✔ ✔ ✔ Plugin Porto Alegre Av. Júlio de Castilhos, 132, 11º andar Centro – CEP: 90030-130 51 4003-1001 www.plugin.com.br ✔ ✔ ✔ TeHospedo Porto Alegre Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008 51 3286-3799 www.tehospedo.com.br ✔ ✔ São Paulo Ws Host Arthur Nogueira Rua Jerere, 36 – Vista Alegre – CEP: 13280-000 19 3846-1137 www.wshost.com.br ✔ ✔ ✔ DigiVoice Barueri Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 11 4195-2557 www.digivoice.com.br ✔ ✔ ✔ ✔ ✔ Dextra Sistemas Campinas Rua Antônio Paioli, 320 – Pq. das Uni- 19 3256-6722 www.dextra.com.br ✔ ✔ ✔ versidades – CEP: 13086-045 Insigne Free Software do Brasil Campinas Av. Andrades Neves, 1579 – Castelo – CEP: 13070-001 19 3213-2100 www.insignesoftware.com ✔ ✔ ✔ Microcamp Campinas Av. Thomaz Alves, 20 – Centro – CEP: 13010-160 19 3236-1915 www.microcamp.com.br ✔ ✔ PC2 Consultoria em Carapicuiba Rua Edeia, 500 - 06350-080 11 3213-6388 www.pc2consultoria.com ✔ ✔ Software Livre Savant Tecnologia Diadema Av. Senador Vitorino Freire, 465 – CEP: 09910-550 11 5034-4199 www.savant.com.br ✔ ✔ ✔ ✔ Epopéia Informática Marília Rua Goiás, 392 – Bairro Cascata – CEP 17509-140 14 3413-1137 www.epopeia.com.br ✔ Redentor Osasco Rua Costante Piovan, 150 – Jd. Três Mon- 11 2106-9392 www.redentor.ind.br ✔ tanhas – CEP: 06263-270 Go-Global Santana de Parnaíba Av. Yojiro Takaoca, 4384, Ed. Shopping Ser- 11 2173-4211 www.go-global.com.br ✔ ✔ ✔ vice, Cj. 1013 – CEP: 06541-038 AW2NET Santo André Rua Edson Soares, 59 – CEP: 09760-350 11 4990-0065 www.aw2net.com.br ✔ ✔ ✔ Async Open Source São Carlos Rua Orlando Damiano, 2212 – CEP 13560-450 16 3376-0125 www.async.com.br ✔ ✔ ✔ Delix Internet São José do Rua Voluntário de São Paulo, 3066 9º 11 4062-9889 www.delixhosting.com.br ✔ ✔ ✔ Rio Preto – Centro – CEP: 15015-909

78 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Linux.local | SERVIÇOS

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6 São Paulo (continuação) 4Linux São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031 11 2125-4747 www.4linux.com.br ✔ ✔ A Casa do Linux São Paulo Al. Jaú, 490 – Jd. Paulista – CEP 01420-000 11 3549-5151 www.acasadolinux.com.br ✔ ✔ ✔ Accenture do Brasil Ltda. São Paulo Rua Alexandre Dumas, 2051 – Cháca- 11 5188-3000 www.accenture.com.br ✔ ✔ ✔ ra Santo Antônio – CEP: 04717-004 ACR Informática São Paulo Rua Lincoln de Albuquerque, 65 –Perdizes – CEP: 05004-010 11 3873-1515 www.acrinformatica.com.br ✔ ✔ Agit Informática São Paulo Rua Major Quedinho, 111, 5º andar, Cj. 11 3255-4945 www.agit.com.br ✔ ✔ ✔ 508 – Centro – CEP: 01050-030 Altbit - Informática Co- São Paulo Av. Francisco Matarazzo, 229, Cj. 57 11 3879-9390 www.altbit.com.br ✔ ✔ ✔ ✔ mércio e Serviços LTDA. – Água Branca – CEP 05001-000 AS2M -WPC Consultoria São Paulo Rua Três Rios, 131, Cj. 61A – Bom Retiro – CEP: 01123-001 11 3228-3709 www.wpc.com.br ✔ ✔ ✔ Big Host São Paulo Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010 11 3033-4000 www.bighost.com.br ✔ ✔ ✔ Blanes São Paulo Rua André Ampére, 153 – 9º andar – Conj. 91 11 5506-9677 www.blanes.com.br ✔ ✔ ✔ ✔ ✔ CEP: 04562-907 (próx. Av. L. C. Berrini) Commlogik do Brasil Ltda. São Paulo Av. das Nações Unidas, 13.797, Bloco II, 6º an- 11 5503-1011 www.commlogik.com.br ✔ ✔ ✔ ✔ ✔ dar – Morumbi – CEP: 04794-000 Computer Consulting Pro- São Paulo Rua Vergueiro, 6455, Cj. 06 – Alto do Ipiranga – CEP: 04273-100 11 5062-3927 www.computerconsulting.com.br ✔ ✔ ✔ ✔ jeto e Consultoria Ltda. Consist Consultoria, Siste- São Paulo Av. das Nações Unidas, 20.727 – CEP: 04795-100 11 5693-7210 www.consist.com.br ✔ ✔ ✔ ✔ mas e Representações Ltda. Domínio Tecnologia São Paulo Rua das Carnaubeiras, 98 – Metrô Con- 11 5017-0040 www.dominiotecnologia.com.br ✔ ✔ ceição – CEP: 04343-080 EDS do Brasil São Paulo Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5º andar 11 3707-4100 www.eds.com ✔ ✔ ✔ Ética Tecnologia São Paulo Rua Nova York, 945 – Brooklin – CEP:04560-002 11 5093-3025 www.etica.net ✔ ✔ ✔ ✔ Getronics ICT Solu- São Paulo Rua Verbo Divino, 1207 – CEP: 04719-002 11 5187-2700 www.getronics.com/br ✔ ✔ ✔ tions and Services Hewlett-Packard Brasil Ltda. São Paulo Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 11 5502-5000 www.hp.com.br ✔ ✔ ✔ ✔ ✔ IBM Brasil Ltda. São Paulo Rua Tutóia, 1157 – CEP: 04007-900 0800-7074 837 www.br.ibm.com ✔ ✔ ✔ ✔ iFractal São Paulo Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020 11 5078-6618 www.ifractal.com.br ✔ ✔ ✔ Integral São Paulo Rua Dr. Gentil Leite Martins, 295, 2º an- 11 5545-2600 www.integral.com.br ✔ ✔ dar Jd. Prudência – CEP: 04648-001 Itautec S.A. São Paulo Rua Santa Catarina, 1 – Tatuapé – CEP: 03086-025 11 6097-3000 www.itautec.com.br ✔ ✔ ✔ ✔ ✔ Linux Komputer Informática São Paulo Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001 11 5034-4191 www.komputer.com.br ✔ ✔ ✔ ✔ Linux Mall São Paulo Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001 11 5087-9441 www.linuxmall.com.br ✔ ✔ ✔ Livraria Tempo Real São Paulo Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 11 3266-2988 www.temporeal.com.br ✔ ✔ ✔ Locasite Internet Service São Paulo Av. Brigadeiro Luiz Antonio, 2482, 3º an- 11 2121-4555 www.locasite.com.br ✔ ✔ ✔ dar – Centro – CEP: 01402-000 Microsiga São Paulo Av. Braz Leme, 1631 – CEP: 02511-000 11 3981-7200 www.microsiga.com.br ✔ ✔ ✔ Novatec Editora Ltda. São Paulo Rua Luis Antonio dos Santos, 110 – Santana – 02460-000 11 6979-0071 www.novateceditora.com.br ✔ Novell América Latina São Paulo Rua Funchal, 418 – Vila Olímpia 11 3345-3900 www.novell.com/brasil ✔ ✔ ✔ Oracle do Brasil Sistemas Ltda. São Paulo Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º 11 5189-3000 www.oracle.com.br ✔ ✔ andar – CEP: 04726-170 Proelbra Tecnolo- São Paulo Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 11 5052- 8044 www.proelbra.com.br ✔ ✔ ✔ gia Eletrônica Ltda. Provider São Paulo Av. Cardoso de Melo, 1450, 6º an- 11 2165-6500 www.e-provider.com.br ✔ ✔ ✔ dar – Vila Olímpia – CEP: 04548-005 Red Hat Brasil São Paulo Av. Angélica, 2503, 8º andar 11 3124-6000 www.redhat.com.br ✔ ✔ Consolação – CEP: 01227-200 Samurai Projetos Especiais São Paulo Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 11 5097-3014 www.samurai.com.br ✔ ✔ ✔ SAP Brasil São Paulo Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 11 5503-2400 www.sap.com.br ✔ ✔ ✔ Simples Consultoria São Paulo Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 11 3898-2121 www.simplesconsultoria.com.br ✔ ✔ ✔ Smart Solutions São Paulo Av. Jabaquara, 2940 cj 56 e 57 11 5052-5958 www.smart-tec.com.br ✔ ✔ ✔ ✔ IT São Paulo Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 11 3731-8008 www.snapit.com.br ✔ ✔ ✔ Stefanini IT Solutions São Paulo Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919 11 3039-2000 www.stefanini.com.br ✔ ✔ ✔ Sun Microsystems São Paulo Rua Alexandre Dumas, 2016 – CEP: 04717-004 11 5187-2100 www.sun.com.br ✔ ✔ ✔ ✔ Sybase Brasil São Paulo Av. Juscelino Kubitschek, 510, 9º an- 11 3046-7388 www.sybase.com.br ✔ ✔ dar Itaim Bibi – CEP: 04543-000 The Source São Paulo Rua Marquês de Abrantes, 203 – Chá- 11 6698-5090 www.thesource.com.br ✔ ✔ ✔ cara Tatuapé – CEP: 03060-020 Unisys Brasil Ltda. São Paulo R. Alexandre Dumas 1658 – 6º, 7º e 8º anda- 11 3305-7000 www.unisys.com.br ✔ ✔ ✔ ✔ res – Chácara Santo Antônio – CEP: 04717-004 Utah São Paulo Av. Paulista, 925, 13º andar – Cerquei- 11 3145-5888 www.utah.com.br ✔ ✔ ✔ ra César – CEP: 01311-916 Visuelles São Paulo Rua Eng. Domicio Diele Pacheco e Sil- 11 5614-1010 www.visuelles.com.br ✔ ✔ ✔ va, 585 – Interlagos – CEP 04455-310 Webnow São Paulo Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Cen- 11 5503-6510 www.webnow.com.br ✔ ✔ ✔ tenário – Chácara Itaim – CEP: 04578-000 WRL Informática Ltda. São Paulo Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001 11 3362-1334 www.wrl.com.br ✔ ✔ ✔ Systech Taquaritinga Rua São José, 1126 – Centro - Cai- 16 3252-7308 www.systech-ltd.com.br ✔ ✔ ✔ xa Postal 71 – CEP: 15.900-000

Linux Magazine #32 | Julho de 2007 79 © Linux New Media do Brasil Editora Ltda. Calendário de eventos

Evento Data Local Website

IV GUADEC-ES 12 e 13 de julho Granada, Espanha 2007.guadec.es/guadec

GUADEC 2007 15 a 21 de julho Birmingham, Reino Unido 2007.guadec.org

GCC Developers’ Summit 18 a 20 de julho Ottawa, Canadá www.gccsummit.org SERVIÇOS Ubuntu Live 22 a 24 de julho Portland, EUA www.ubuntulive.com

PyCon Brasil 30 de agosto a 1º de setembro Joinville, SC pyconbrasil.com.br

5º Encontro Nacional Linuxchix Brasil 7 e 8 de setembro Brasília, DF www.linuxchix.org.br

OSCON 2007 23 a 27 de julho Portland, EUA conferences.oreillynet.com/os2007

Latinoware 2007 13 e 14 de novembro Foz do Iguaçu, PR www.latinoware.org

Índice de anunciantes

Empresa Pág. Celepar 07 Coraid 09 DebConf 83 Easy Linux 15 Fracto 02, 80 Impacta 19 Intel 11 Linux New Media 61 Linux World 81 LPI 59 Plugin 13 Pycon 47 Red Hat 23, 37, 67 Senac 84

80 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ������������������������������� ����������������

������ �������������������� �����������������������

�������������� �������������������� ����������������������

�������� ����������������������� �����������������������

���������� ������������������� �����������������������

������� ������������������������ ������������������������

�������� ������������������������������ ���������������������

�����������������������������������������������������������������© Linux New Media do Brasil Editora Ltda. ���������������������������

LinuxGLOBAL_KRU.indd 1 12.06.2007 17:53:30 Uhr Na Linux Magazine #33…

DESTAQUE TUTORIAL Multicore Curso LPI: inicialização Com o fim da corrida dos Gigahertz, os fabricantes de processa- Confira na segunda aula do curso prepara-

PREVIEW dores agora investem no paralelismo. Apresentaremos os termos tório para a LPIC 2 os detalhes do sistema e definições característicos dessa nova era, mostraremos como de inicialização do Linux. Abordaremos escrever programas executáveis em qualquer CPU de núcleos os diferentes níveis de execução, as opções múltiplos ou únicos com o OpenMP e abordaremos a ferramenta de parâmetros passadas ao gerenciador de da Intel para programação paralela, entre outros. ■ inicialização, e muito mais. ■

SYSADMIN Cacti Dentre as várias atividades desenvolvidas pelos administradores de redes está o mo- nitoramento de roteadores, switches, servi- dores e seus respectivos serviços, a fim de garantir taxas aceitáveis de desempenho e disponibilidade. Apresentaremos o Cacti, uma boa opção de ferramenta de monitora- mento que pode ajudar muito nesta tarefa, adotado, entre outros, pelo movimentadís- simo kernel.org. ■ Na EasyLinux #10… DESTAQUE Placas de vídeo Descubra quais são as diferenças entre as principais placas de vídeo disponíveis no mercado. É realmente significa- tiva a mudança de desempenho entre uma placa topo de linha e uma mais modesta? Será que determinada placa funcionará 100% no Linux? O que é necessário saber para fazer uma placa funcionar com todo seu potencial? Confira nossos testes e tome a melhor decisão antes de acelerar o vídeo da sua máquina. ■

FLIPERAMA Games Na estréia da seção Fliperama na revista EasyLinux, você verá como instalar e jogar o Guild Wars. Neste jogo, você constrói seu personagem e se aventura num mundo com milhares de outros jogadores on-line. ■

82 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. 510100_204x275_333.pdf June 18, 2007 13:30:27 1 de 1 07/2007 XANDROS E MICROSOFT p.26 PADRÃO ABERTO p.27 TUX E PETRÓLEO p.22 O que muda para os A importância do formato Linux é o motor das clientes das companhias ODF para sua empresa pesquisas da Petrobras

#32 07/07 Linux

7 R$ 13,90 € 7,50

Magazine

Pensou r de 0 0 0 3 2

exempla Certificação LPI, 9 200 venda proibida 4

6 9 #

3

pensou 32 Julho 200 2 Assinante 7180 # Senac A REVISTA DO PROFISSIONAL DE TI 9 7 GROUPWARE

CITADEL GROUPWARE p.31 PROMOVA A INTEGRAÇÃO DAS ATIVIDADES DE SUA EQUIPE,CONTROLE INFORMAÇÕES

E ADMINISTRE PROJETOS COM LINUX E PODEROSAS FERRAMENTAS DE COLABORAÇÃO EXPRESSO

» Expresso Livre: Workflows em PHP p.36

» Funcionalidades ilimitadas: Citadel p.32 A certificação LPI está entre as mais procuradas ZIMBRA no mundo por profissionais da área de Tecnologia » Muito AJAX e praticidade: Zimbra p.40 » OpenXchange: qualidade premiada p.44 da Informação, segundo o site Certcities.com,

especializado no tema. OPENXCHANGE Conheça os novos cursos oferecidos pelo Senac As provas do LPI são independentes de e torne-se um profissional certificado! distribuição e baseadas no Linux Standard

Base, um conjunto de normas que mantém LPI-2 a compatibilidade entre as diferentes versões Certificação LPI nível 1 – LPIC1

Certificação LPI nível 2 – LPIC2

e distribuições do sistema operacional. DEBIAN 4.0

OSenac São Paulo estabeleceu parceria com o

LPI, tornando-se um LATP LPI Approved Training WIRESHARK Partner, Centro Autorizado de Treinamento LPI para oferecer os cursos preparatórios para a

certificação LPI.

p.66

RUBY E GLA SAMBA E OPENLDAP Simplifique a autenticação VEJA TAMBÉM NESTA EDIÇÃO: integrando essas tecnologias

DE » As novidades do Red Hat Global Desktop p.24 » Desenvolvimento gráfico fácil com Ruby e Glade p.72 WIRESHARK p.52 » Debian 4, agora com instalador gráfico p.48 Como resolver problemas de rede Mais informações, acesse » Curso LPI: Primeira aula para LPIC-2 p.56 com o sucessor do Ethereal www.sp.senac.br/certificacoes 0800 883 2000 © Linux New Media do Brasil Editora Ltda. WWW.LINUXMAGAZINE.COM.BR