Slack Zine 6

Embed Size (px)

Citation preview

  • 8/7/2019 Slack Zine 6

    1/12

    slackwarezineSlackware is a registered trademarkof Slackware Linux, Inc.

    O slackware a distribuio linux maisantiga ainda em atividade. Tendo sidocriada por Patrick Volkerding em 1993,a partir da SLS.

    Em todos esses anos, a distroconquistou ardorosos utilizadores,principalmente graas sua filosofia desimplicidade e estabilidade.

    Um produto de extrema qualidade pusurios com esta mesma caractersE este zine de slacker para slacker

    29 de Novembro de 2004 Edio

    Reproduo do material contido nesta revista permitida desde quese incluam os crditos aos autores e a frase:

    Reproduzida da Slackware Zine #6 www.slackwarezine.com.br

    com fonte igual ou maior do corpo do texto e em local visvel

    slack

    users

    ndice

    Grficos Vetoriais para WebDiego Fiori de Carvalho

    Imprimindo em impressoras Windowspelo CUPSClayton Eduardo

    Guia Rpido para o CVSFormiga

    Compartilhando o X com o VNC4Deives Michellis thefallen

    Macintosh+Slackware?Piter PUNK

    dnsmasq Pague um e leve doisSulamita Garcia

    FileSystems CriptografadosWolvie

    Editorial

    ste zine sai, alm de atrasado, como portador

    de ms notcias. No sabemos quantos sabem,

    mas o criador do slackware, Patrick Volkerdingst doente e beeem doente.

    omo a distncia no permite uma ajuda maior,vamos concentrar as nossas oraes (ou rezas,

    u pensamento positivo, ou seja-l-o-que-as-

    uas-crenas-permitam-que-voc-faa) e cruzar

    s dedos, torcendo pela melhora dele.

    Na ausncia do Patrick, os updates de

    egurana esto sob responsabilidade de alguns

    membros do GUS-Br, e podem ser encontrados no

    eguinte endereo:

    http://www.slackware.org.br/~patrick/WORKGUS

    Bom, deixando de lado as ms notcias, essa

    dio do zine trs uma srie de artigosnteressantes, e dois novos colaboradores.

    O primeiro artigo apresentado mostra como

    utilizar o SVG para imcrementar as suas

    pginas na internet, logo em seguida, Clayton

    duardo nos apresenta como utilizar o CUPS

    para imprimir em mquinas Windows. Algumas

    dicas de como usar o CVS so apresentadas pelo

    novato Formiga. Utilizar o VNC para trabalhar

    remotamente, configurar um DNS+DHCP em um

    nico programa e instalar slackware em umMacintosh completam essa edio. Fechamos com

    have de ouro com o artigo sobre sistemas dearquivos criptografados, do Wolvie.

    Espero que se divirtam

    Piter PUNK simplicity is divine

  • 8/7/2019 Slack Zine 6

    2/12

    Para cativar diretamente a percepo dos nossosusurios, usamos e abusamos de componentes grficasem nossas pginas. A maioria das vezes utilizamos

    grficos rasterizados, ou seja, criados de maneiraesttica, como os formatos de imagem GIF e JPG, massempre pensamos como seria interessante selecionarapenas partes de interesse em uma imagem, ou ainda,editar via linha de cdigo seu contedo.

    ]>

    SVG - Slackwarezine

    Scalable Vector Graphics - Meu primeiro SVG

    Existem vrios plug-ins na web,mas infelizmente, ainda noobtiveram resultados satisfatriospara utilizao em navegadorescomo Mozilla e FireFox. O plug-inda Adobe renderiza perfeitamentegrficos simples para Mozilla,como o exemplo abaixo, mas deixaa desejar em aplicaes maiscomplexas que utilizam eventos em

    JavaScript. Segundo osdesenvolvedores da Adobe, estprevista o lanamento de uma novaverso do plug-in, com a correodesses erros para novembro.Enquanto isso, podemos estudar ocdigo padro SVG...

    Foi a partir desse princpio,presentes em formatos como CAD,que a W3C (http://www.w3c.org),organizao responsvel pelaespecificao dos padres utilizadosna internet, criou um novo formatopara grficos chamado de SVG(Scalable Vector Graphics). O SVG um formato para descrever grficosvetoriais e animaes, utilizandoarquivos XML(eXtensible MarkupLanguage) que contenham umconjunto padronizado de tags paraos elementos bsicos de desenho,alm de permitir a alterao deestilo de seus grficos, por CSS einterao por JavaScipt.

    Um grfico vetorial corresponde a um conjunto deentidades geomtricas, como retas, quadrados,crculos, curvas simples e complexas. Para se criar umgrfico nesse formato, necessita-se manipular essastags elementares, por meio de um editor de texto,

    como o VI, do mesmo modo como criado uma pginasimples em HTML.

    Para abrir um SVG por um navegador, necessrioque se possua um plug-in apropriado para renderiz-lo. Por tratar-se de um grfico vetorial, podemos

    obter um perfeito zoom, pois o plug-in renderizanovamente as primitivas grficas no tamanhorequisitado sem perder a definio da figura.

    Na figura 1 apresentado o resultado do cdigodescrito acima, exemplificando alguns dos elementosbsicos. Quando aberto no navegador Mozilla, cominstalao do plug-in Adobe Viewer, encontrado emhttp://www.adobe.com/svg.

    Diego Fiori de Carvalh

  • 8/7/2019 Slack Zine 6

    3/12

    Em edies anteriores do slackwarezine, tivemos aoportunidade de ler artigos realmente bonsrelacionados impresso em ambiente Linux.

    Bem, voc deve estar se perguntando agora: "Se osartigos foram escritos em outras edies, porque umnovo artigo abordando o mesmo assunto?".

    Essa pergunta natural e irei respond-la comprazer. Acredito que grande parte dos usurios Linux,em especial os newbies, seja por necessidade oumesmo por curiosidade, em ambiente local oucorporativo, dependem de uma impressora instaladaem uma mquina com "aquele" sistema operacional.Como esse , em muitos casos, um "mal necessrio",resolvi escrever esse artigo... :)Vamos a ele!!!

    Como o processo de instalao do CUPS j foidetalhado na edio nmero 02 do slackzine, noirei repeti-lo aqui, somente darei algumas dicas quejulgo importantes durante o processo deinstalao/configurao de uma impressora remotainstalada em uma mquina Windows.

    Uma primeira dica, que deve ser observada antesmesmo de instalar o CUPS, verificar se o SAMBAest corretamente instalado no sistema, pois casocontrrio, o tipo de compartilhamento baseado noprotocolo smb no ser listado no gerenciador de

    impressoras do CUPS durante a configurao daimpressora, uma vez que o samba no est presenteno sistema, ou ainda, no foi iniciado.Para verificar se o samba j foi instalado junto com oseu bom e velho slackware, basta verificar se existeum registro do mesmo em /var/log/packages,bastando para tanto, digitar:

    ls /var/log/packages/sam*

    ou ainda,

    pkgtool

    Caso o pacote samba tenha sido instalado, pode serque ele no tenha sido iniciado durante o processo deboot, para tanto, faa o seguinte:

    cd /etc/rc.d

    chmod +x rc.samba

    Verifique tambm se o seu sistema possui o arquivode configurao smb.conf, normalmente instalado em/etc/samba, no confundir com o arquivo smb.conf-sample, que oferece exemplos de configuraocomentados (e pode ser usado como base para voc

    criar o seu smb.conf)

    Estando o samba instalado, configurado corretamenno sistema e iniciado, vamos partir para aconfigurao das impressoras.

    Pois bem, em sistemas baseados em Win9x/ME oumesmo Linux, o processo de configurao dasimpressoras remotas idntico e bastante simples,basta que se acrescente uma entrada do tipo:

    smb://mquina_que_a_impressora_est_instala

    a/nome_do_compartilhamento_da_impressora

    DICA:Para que o acesso possa ser realizadocorretamente atravs do hostname da mquina,

    lembre-se de incluir uma entrada referente a elano arquivo /etc/hosts ou no servidor DNS desua rede local.

    Em sistemas baseados em Win2k/XP, a sintaxe umpouco diferente e s vezes isso pode fazer com quevoc perca alguns minutos ou mesmo algumas horaspesquisando a soluo. A sintaxe a seguinte:

    smb://grupo_de_trabalho_windows/usuario@sen

    a/mquina_que_a_impressora_est_instalada/n

    me_do_compartilhamento_da_impressora

    Exemplo prtico:

    smb://administrativo/clayton@senha/maquina0

    /hp840c

    Feito isso sua impressora Windows remota deverfuncionar normalmente, no entanto, em alguns caso possvel que voc receba a fatdica mensagem:NT_STATUS_UNSUCCESSFUL...

    Bem, muito provavelmente sua mquina linux oumesmo a mquina windows onde a impressora est

    instalada est com as portas bloqueadas, para corrigesse problema, voc precisa desabilitar as seguintesportas em seu firewall: 137, 138, 139 e 445.

    Se o problema for na mquina Windows,provavelmente voc ter que jogar seu "free firewalno lixo, pois ele no possui suporte a gerenciamentode portas, portanto, voc ter de optar uma versocomercial com suporte a esse recurso.

    Acredito que, com essas dicas, sua impressora remowindows funcionar perfeitamente.

    Clayton Eduardo

  • 8/7/2019 Slack Zine 6

    4/12

    1. Criando o ambiente de trabalho

    Crie um diretrio raiz onde trabalhar com osmdulos CVS.

    Se quiser criar um mdulo, crie o diretrio, osarquivos e depois use o comando import, na raizdo diretrio do mdulo:

    cvs import -m"Nome Completo do Mdulo"\

    NomeModulo NomeVendedor NomeVerso

    No diretrio raiz criado para trabalhar com os

    mdulos CVS, para fazer download via cvs de ummdulo, faa:

    cvs checkout NomeModulo

    O checkout ir fazer o download do contedo domdulo para o diretrio atual.

    2. Trabalhando com os arquivos locais eatualizando

    O trabalho local feito normalmente. Entretanto,deve-se prestar ateno remoo e criao de

    arquivos, pois os mesmos devem ser informadosao CVS. Aps fazer as alteraes, pode-severific-las com:

    cvs diff caminho/relativo/do/arquivo

    ou

    cvs diff

    para verificar todas as mudanas

    NOTA:os subcomandos do comando cvs tmparmetros: cvs --help subcomando

    Ao trmino das alteraes locais, deve-se atualizar

    a rvore CVS. Para isto, usa-se o subcomandocommit:

    cvs commit caminho/relativo/do/arquivo

    Ser aberto o editor de textos especificado em$EDITOR para que seja digitado o comentriorelacionado atualizao. Para que a atualizaoseja feita diretamente, faz-se:

    cvs commit -m"Digite aqui a alterao\

    feita nesta verso" \

    caminho/relativo/do/arquivo

    Pode-se fazer uma atualizao global com:

    cvs commit -m"Digite aqui cada mudana\

    feita em cada um dos arquivo"

    Antes de comear...

    Para acessar localmente:

    export CVSROOT=/var/lib/cvs

    Para acessar remotamente:

    export \

    CVSROOT=":pserver:user@host:\

    /var/lib/cvs"

    Autenticao:

    cvs login

    Para que a autenticao no sejanecessria, basta copiar a chave pblicausurio local para o$HOME/.ssh/authorized_keys dousurio remoto autenticado.

    Guia Rpido para o CVS

    Free is Good...

    Open Source is Good...

  • 8/7/2019 Slack Zine 6

    5/12

    O comportamento para "cvs commit" o mesmode "cvs commit arquivo"; portanto, amensagem do "commit" global deve especificar asmudanas feitas em cada arquivo.

    O comentrio de mudanas feitas no arquivo,requerido pelo subcomando commit, tem funode relatrio de mudanas da verso atual emrelao verso anterior dos arquivos do projeto.Caso no seja especificado o parmetro "-m", ocomando "cvs commit" mostra um cabealhopr-montado no editor de textos que chamado,especificando os arquivos alterados, como noexemplo:

    CVS: Modified Files

    CVS: arquivo1 arquivo2 arquivo3

    CVS: --------------------------------

    Qualquer linha que comece com "CVS" serremovida automaticamente. Mdulos esubdiretrios de mdulos podem ser marcadoscomo inativos. Para isto, usa-se o comando

    cvs release NomeModulo

    ou

    cvs release NomeModulo/diretorio

    Nota: todos os caminhos so relativos ao diretriocorrente ($PWD) e no rvore principal domdulo utilizado

    Para remover um arquivo, subdiretrio ou mdulodo repositrio, o subcomando utilizado o

    "remove":

    cvs remove \

    nomedo{arquivo|subdiretrio|mdulo}

    Para adicionar um arquivo ou subdiretrio aomdulo em uso, o subcomando utilizado o"add":

    cvs add nomedo{arquivo|subdiretrio}

    Para que as alteraes dos subcomandos removee add faam efeito, o subcomando "commit" deve

    ser utilizado posteriormente.

    Formiga

    Aqui vai uma dica rapidinha pra quem quercompartilhar a sesso do X sem ter q rodar o Xinteiro dentro do VNC (Xvnc, na verdade).

    Com o Real VNC 4 - http://www.realvnc.com/- veio um programa chamado x0vncserver. Esseprograma fica consultando os eventos do X locae os reflete na sua conexo VNC.

    O nico "truque" que o x0vncserver noprocura pelo arquivo de password padro (o~/.vnc/passwd), sendo necessrio passarparmetros para o programa.

    Pra criar a senha do VNC, rode o comandovncpasswd. ele criara o ~/.vnc/passwd pravoc. Agora, basta passar esse parmetro para ox0vncserver (se voc estiver no prprio X a sercompartilhado):

    x0vncserver PasswordFile=~/.vnc/passwd

    ou

    DISPLAY=:0.0 x0vncserver \

    PasswordFile=~/.vnc/passwd

    A varivel DISPLAY til se voc estiverconectado via SSH e precisa acessar o X damquina remota ; basta fazer um "su -usurio" e rodar o x0vncserver com a varivelDISPLAY setada.

    Deives Michellis the fallen

    Compartilhando o X

    com o VNC 4

    slackwareit's good

    slackware for the real nerd

  • 8/7/2019 Slack Zine 6

    6/12

    1. Introduo

    Bom, depois de muito tempo pensando em comoconseguir um Macintosh, finalmente coloquei a moem um deles para a minha coleo: um PowerMac5500. Mquina bem interessante, com monitorintegrado e j veio com modem e placa de rede.

    S havia um problema, e esse problema se chamava

    MacOS. Mais precisamente MacOS 8.6. Instantesdepois da compra, l estava eu pesquisando qualUNIX-like poderia rodar nessa mquina. Asrespostas dessa pesquisa foram bem promissoras.

    Tanto o Linux como o NetBSD rodam nesse Mac, erodam muito bem! O primeiro que instalei foi oNetBSD, pois a documentao era bem mais farta, eo procedimento de instalao estava indicadopasso-a-passo. Depois de instalado e de teraprendido direito como esse Mac funciona, resolvipassar para o prximo estgio: instalar Linux nele.

    Nessa hora a minha decepo, oslackintosh

    haviasido descontinuado -:(. Outra pesquisa no google eachei um mirror do projeto, com os arquivos para ainstalao do slackintosh8.1, 9.0 e 9.1. Como o8.1 estava mais completo, resolvi baixar e instalar e,de quebra, arranjar assunto para um artigo -;). Nadalhe impede de montar um CD com o esqueleto do8.1 e os pacotes do 9.1, por exemplo.

    2. Consideraes iniciais

    Esse mtodo que estou empregando funcionaapenas para Macs classificados como OldWorld, ou

    seja PowerMacs que tenham sido fabricados antesdo iMac. Para Macs NewWorld possvel gerar umCD bootvel e o procedimento muuuuuito maissimples.

    PowerMacs da srie x100 tambm no vo sebeneficiar da tcnica usada (mas nada impede de eudescobrir outra assim que colocar o 6100 que temaqui para funcionar).

    Por ltimo, como REALMENTE no gostei doMacOS, eu eliminei-o da mquina. Da mesmamaneira que os meus PCs, o Mac roda apenas o

    Linux.

    3. A instalao

    3.1. Discos de Boot

    V na URL abaixo e pegue os discos de boot e root

    http://mike.quintero.staff.noctrl.edu/\

    slackintosh/

    Os discos de boot e de root chamam-se,

    respectivamente:slackintosh-bootdisk-1.bin

    eslackintosh-rootdisk-1.bin

    Crie os dois discos utilizando o dd e coloqueprimeiro o bootdisk e, quando solicitado, orootdisk. No final do carregamento do segundodisco, o sistema vai tentar detectar o seu CD-ROMComo a maior parte dos Macintoshs pr-iMac usamCD-ROMs SCSI, o detector do disquete queprocura apenas por dispositivos IDE no vaidetectar nada. Voc vai precisar inserir o"endereo" do seu CD-ROM. Se estiver compreguia de procurar, o endereo /dev/scd0

    3.2. Particionamento

    Depois de carregar o CD, voc j deve terpercebido que o sistema de instalao igual aodo slackware que todos ns conhecemos. Noadianta selecionar agora o tipo de teclado, apertesimplesmente , entre como root e vamosefetuar o particionamento com o fdisk:

    # fdisk /dev/hda

    Na realidade, este no o fdisk que estamoshabituados, o pmac-fdisk, mas foi alterado paraque a sada fique parecida com a do fdisk e oinstalador do slackware possa reconhecer asparties pelos seus nomes.

    Mais uma diferena: ao contrrio do fdisk com oqual estamos acostumados, este no detectaautomaticamente a prxima posio livre. Cadapartio comea exatamente onde termina apartio anterior, exemplo:

    Incio Fim

    hda1: 1 64

    hda2: 64 5532

    Macintosh+slackware?Instalando o slackintosh

  • 8/7/2019 Slack Zine 6

    7/12

  • 8/7/2019 Slack Zine 6

    8/12

    3.5. Instalando o QUIK

    No, no um achocolatado (ou seria"amorangado"?), quik um bootloader para serutilizado em mquina PPC. No universo do PC seriauma espcie de LILO ou GRUB. o conjunto quik eOpenFirmware que vai bootar a sua mquina.

    Como o slackintosh era um hobby e, pior ainda(para a gente), o desenvolvedor tinha um MacNewWorld, a instalao do quik deve ser feita demaneira totalmente manual.

    O primeiro passo criar um quik.conf, ele bemparecido com um lilo.conf da vida, mas temmenos parmetros. Crie-o diretamente na partio /boot que, no momento, est montada sob o /mnt:

    # vi /mnt/boot/quik.conf

    Edite o arquivo deixando-o mais ou menos assim:

    timeout = 100

    partition = 2

    read-only

    default = linux

    image = /vmlinux

    label = linux

    root=/dev/hda3

    Isso tudo quer dizer: espere 10 segundos (timeout= 100), depois procure no hda2 (partition = 2)por um arquivo chamado vmlinux (image = /vmlinux), se achar, por favor carregue-o. Bem

    simples no ?

    Ainda no a hora de rebootar. Antes necessriocopiar outro kernel para o diretrio/mnt/boot.Infelizmente, o que est l o quik no conseguecarregar, ele tem problemas com kernels muitograndes. Felizmente, dentro do CD, no diretrioboot existe um outro kernel -:). Copie-o para o /mnt/boot:

    # cp /var/log/mount/boot/vmlinux \

    /mnt/boot/vmlinux

    Agora hora de um pouco de black magic:

    # cd /mnt

    # pivot_root . mnt/floppy

    # exec chroot . sh

    # umount /mnt/floppy

    # quik -v -C /boot/quik.conf

    E pronto! Se tudo correu bem, agora voc poderebootar a sua mquina com o bom e velho"shutdown -rf now". Lembre de desmontar todasas parties e rodar o sync.

    4. Finalizando

    Se tudo deu certo, para voc agora estar cara-a-cara com o prompt do OpenFirmware, um:

    0 >

    Extremamente intimidador. Simplesmente escreva"boot" e aperte . para aparecer agora

    um novo prompt, escrito "boot:". Neste prompt,ou voc aguarda 10 segundos ou simplesmenteescreve "linux" (que o label que a gente deupara o kernel) e aperte .

    Dentro de instantes para aparecer as mensagensdo kernel correndo pela tela, e o simptico pingimno canto superior esquerdo da tela. Logue comoroot e reinicie a mquina, vamos avisar aoOpenFirmware que no precisamos mais que oprompt dele fique aparecendo antes de todos osnossos boots, para isso basta digitar no 0 >

    0 > setenv auto-boot? true0 > boot

    Antes que eu me esquea, o kernel que acabamosescolhendo no tem vrias coisas importantes,como o suporte a disquetes e rede. Para deixar amquina realmente usvel, recompile o kernel e"abuse" dos mdulos, para tentar reduzir aomximo o tamanho do kernel que ser carregado.

    Agora sim, boa sorte!!! -:)

    Piter PUNK

  • 8/7/2019 Slack Zine 6

    9/12

    Estes tempos me pediram para transformar um 486 emum servidor DHCP/DNS. Como as requisies destesprotocolos so pequenos e no to frequentes numarede local, no exigiria muito da mquina. Porm aoinstalar o slackware na mquina, vejo passar adescrio de um pacote: dnsmasq (small DNS andDHCP server).

    O dnsmasq um servidor simples de configurar e leve.Ele implementado para fornecer resoluo de nomes,mas tambm faz o papel de DHCP. Isto era perfeito

    para a rede em questo: local, com poucas mquinas,que no deveriam ser divulgadas no DNS oficial, eamarradas por MAC.

    Est disponvel na srie N do slackware 10.0.O dnsmasq pode usar o servidor de DNS oficial ou oarquivo /etc/hosts. No meu caso, eu preferi criar asentradas para as mquinas no arquivo hosts. Quando odnsmasq inicia, l estas entradas e armazena.

    O arquivo de configurao dnsmasq.conf, e oprincipal sero as linhas onde voc pode configurar oshosts. Por exemplo a linha:

    dhcp-host=\00:0c:6e:fd:6b:5e,172.22.74.1,sulamita

    especifica que o host com MAC 00:0c:6e:fd:6b:5edever receber o ip 172.22.74.1 e o nome sulamita.Isto o que a documetao diz, porm nos testes noconsegui, tive que especificar tudo no hosts.

    Com isto pronto, voc j tem um servidor DHCP e DNSbsico. Porm claro que queremos incrementar. Porexemplo, voc pode querer informar para as mquinasqual o servidor de e-mail, atraves do campo "mx-host".Existem tambm algumas opes que podem fazeralguma diferena no desempenho da rede. A opo

    "filterwin2k

    ", que ir ignorar as requisies geradasperiodicamente e sem necessidade do W2k. Mas aindatem mais, se voc quiser que aquele servidor resolva asua rede e nada mais, utilize o campo "no-resolv".Assim, se ele no souber responder alguma coisa, eleno ir buscar o servidor de DNS principal e tentarresolver. Para restringir ainda mais, use a opo"local=/redelocal/", que ir responder apenas aqueries originadas desta rede.

    A interface em que o dnsmasq ir ouvir tambm importante quando este servidor pode estar ligado amais de uma rede e voc no quer que ele sirva a umadas redes, especificando as interfaces atraves da opo"interface=ethX".

    Se a linha com esta opo estiver comentada, significaque ele ir ouvir em todas as interfaces. Voc poderepetir esta linha para as interfaces que quer atender,ou especificar a(s) que no quer com o "except-interface".

    Talvez voc no queira misturar seu prprio arquivohosts com os hosts para o dnsmasq. Voc pode criarento estas entradas em um outro arquivo e usar aopo addn-hosts=/onde/est/seu/arquivo". Odomnio pode ser especificado com"domain=seudominio", e a faixa de IPs a seremoferecidos atravs do "dhcp-range". No dhcp-rangevoc pode especificar apenas a faixa:

    dhcp-range=172.22.1.1,172.22.255.253

    ou alm disto a mscara de rede padro para asmquinas, e qual o prazo de validade da requisio:

    dhcp-range=\

    172.22.1.1,172.22.255.253,255.255.0.0,12h

    Aqui especificamos a faixa de ip de 172.22.1.1 a172.22.255.253, mscara de rede 255.255.0.0, e a

    validade disto para 12 horas.

    O dnsmasq utiliza opes da RFC 2132 para umaresposta DHCP. Alguns comuns so rota padro(3),endereo de broadcast(28), servidor NTP(42). Entovoc pode enviar para as mquinas a rota padroatraves de uma linha assim:

    dhcp-option=3,172.22.255.254

    O dnsmasq pode servir tambm apenas como um "proxy"dns, onde voc pode querer apenas a parte do dhcp eusar o DNS de um servidor j existente. Voc podeenviar o endereo deste servidor para as mquinas

    cliente atravs da linhadhcp-option=6,172.22.1.1

    e utilizar a opo "no-hosts".

    Existem muitas mais opes, estas so as que achei maisinteressantes. claro que por ser pequeno o dnsmasqtem suas limitaes, no possuindo todas as opes deum servidor DNS ou DHCP padro, porm dependendoda situao timo para organizar a rede e reutilizaraquele velho micro encostado. Coisas toscas tambmso legais e muito teis.

    Sulamita Garcia

  • 8/7/2019 Slack Zine 6

    10/12

    Buenas povo, o objetivo desde breve documento descrever o processo para criao e utilizao deum volume cryptografado utilizando a cryptoapi dokernel o mesmo pode ser feito em um arquivo nodisco ou em uma partio normal.Para os felizes usurios da release 2.6 do kernel noexiste muito o que mexer, s configurao do kernele patchear e recompilar o util-linux, j no caso do2.4 preciso tambm patchear o kernel. Ento mos

    obra.1. Kernel patch

    Se voc usa kernel da srie 2.6.x, pode pular diretopara prxima seo, caso contrrio, baixe o arquivopatch-cryptoloop-jari-2.4.22.0 na URL abaixo:

    http://www.kernel.org/pub/\

    linux/kernel/crypto/v2.4/testing/

    e aplique, o patch acima foi testado no kernel 2.4.25e 2.4.26 aplicando em ambos com um pequeno hunk

    de algumas linhas no config.in. Lembre sempreque as linhas terminadas com \ no final devem sertodas digitadas como sendo uma nica linha (e semos \ ).

    Para aplicar o patch e s seguir a velha receita..entre no diretrio onde esto os fontes do kernel eento execute:

    # patch -p1 < \

    /caminho/completo/\

    patch-cryptoloop-jari-2.4.22.0

    2. Configurao de kernel

    Selecione as opes CONFIG_BLK_DEV_LOOP eCONFIG_BLK_DEV_CRYPTOLOOP, ambas seencontram na seo de Block Devices daconfigurao do kernel e tambm a opoCONFIG_CRYPTO e mais todas opes dosalgoritmos de criptografia a serem usados,(recomendo AES ou TWOFISH), estas opes seencontram em Cryptographic options. Fica agosto do fregus escolher entre compilar essasopes como mdulos ou ento builtin no kernel.Compile o kernel com as novas opes e instale-oassim como os mdulos necessrios e tudo mais.

    3. Util-linux

    Mais uma vez temos diferenas aqui naimplementao para kernel 2.4 e 2.6, necessrioum patch extra para que compile num sistema comos kernel headers do 2.6, atente que o patch somente necessrio em sistemas com os headersdo kernel 2.6 instalados! Se este for o seu caso, opatch pode ser encontrado em:

    http://www.ece.cmu.edu/~rholzer/\

    cryptoloop/\

    util-linux-2.12-kernel-2.6.patch

    e alm desse tenho o patch para o cryptoloop viacryptoapi em si, este arquivo o util-linux-2.12-cryptoapi-losetup.patch.bz2 e encontrado em:

    http://gentoo.seren.com/gentoo/distfiles/

    FileSystems

    Criptografados

    Got slack?http://www.slackware.com

  • 8/7/2019 Slack Zine 6

    11/12

    Isso pode ser facilmente criado com o comando ddusaremos como fonte de dados o /dev/urandompor ser mais rpido (apesar de menos randmico)que o /dev/random. Usamos essas fontes ao invsdo tradicional /dev/zero por que o arquivo cheiode dados randmicos dificulta muito acriptoanlise dos dados (sim, estamos sendoparanicos), o comando para criao do arquivo :

    # dd if=/dev/urandom of=volume \bs=1M count=50

    O comando acima cria um arquivo chamadovolume com 50M, os parmetros so:

    if - arquivo/device que ser utilizado comoorigem de dados

    of - arquivo/device destino dos dadosbs - block size, quantidade de dados

    acumulada antes de ser enviado umbloco de dados para o arquivo/device,aceita valores numricos em bytes e

    operadores K para kilobytes e M paramegabytes G para gigabytes e assim pordiante

    count - a contagem de blocos a seremescritos/lidos, no caso do comando acima50, como o tamanho do bloco eh de 1Mteremos um arquivo de 50M.

    Agora devemos vincular o arquivo/device a umdevice loopback com o algoritmo de criptografiadesejado, antes porm no caso de termoscompilado os algoritmos e loopdevices comomdulos iremos carreg-los:

    # modprobe cryptoloop

    # modprobe aes

    Agora vincularemos um loop device e o algoritmode criptografia ao arquivo/device que acabamos decriar (o arquivo volume). Utilizaremos comoalgoritmo de criptografia o AES. Se voc no usoumdulos no seu kernel, no se preocupe, no ocarregamento do mdulo que indica o tipo decriptografia e sim a linha de comando querevelaremos a seguir...

    Os dois patches so aplicados nos mesmo moldes dopatch para o kernel que aplicamos anteriormente.Baixe os fontes do util-linux em:

    http://www.kernel.org/pub/linux/utils/\

    util-linux/util-linux-2.12a.tar.gz

    descompacte os fontes com o comando:

    # tar zxvf util-linux-2.12a.tar.gz

    Aplique o patches necessrios (considerando que ospatches esto no diretrio logo abaixo do diretriodos fontes do util-linux):

    # cd util-linux-2.12a

    # patch -p1 < \

    ../util-linux-2.12-kernel-2.6.patch

    (relembrando, este patch somente necessrio emsistemas com kernel headers da verso 2.6)

    # bunzip -c \

    ../util-linux-2.12-cryptoapi-*.bz2 \| patch -p1

    Com os patches aplicados basta compilar e instalaros mesmos o que feito com:

    # make

    # make install

    E voil, seu sistema esta pronto para utilizao devolumes criptografados.

    4. Criao dos volumes criptografados

    Com tudo compilado e rodando s criar osarquivos ou parties para armazenar os dadoscriptografados. Vou abordar a criao de umarquivo em disco pois o mesmo engloba a mesmaconfigurao que seria utilizada para uma partiocriptografada.

    Inicialmente precisamos criar um arquivo com otamanho que desejamos para o volumecriptografado.

    Patrick,

    all slack-users send our bestwishes and hope you get bettersoon!!

  • 8/7/2019 Slack Zine 6

    12/12

    Temos tambm que escolher o tamanho do bloco aser usado com o algoritmo, blocos maiores so mais"fortes" mas so mais lentos e requerem maismemria para a decodificao, blocos de 128, 256,ou 512 so os mais recomendados oferecendogrande segurana e uma tima relaosegurana/velocidade, irei criar o volume com blocode 128 bits o comando para isso :

    # losetup -e aes-128 /dev/loop0 volume

    O comando pedir para ser entrada uma senha queser a senha para acesso ao arquivo/device, essasenha deve ser segura para garantir o sigilo dosdados e deve-se lembrar que essa senha no poderser alterada ou recuperada, em caso de necessidadede nova senha dever se criar um novo volume e secopiar todos os dados para o novo volume. Osparmetros do comando acima so:

    -e aes - algoritmo de criptografia a ser usadomais o tamanho do bloco

    /dev/loop0

    - device de loopback a ser usada,existem 8 disponveis do 0 ao 7volume - arquivo ou device que ser vinculado

    ao loopback

    Aps vinculada o device loopback poder sermanipulado como um block device comum, porexemplo vamos criar um sistema de arquivos nelepara podermos transferir arquivos para o mesmo:

    # mke2fs /dev/loop0

    Isso criar o sistema de arquivos padro ext2 noarquivo/device criptografado, agora s montarele no local de sua preferncia e us-lo a vontade,algo como:

    # mount -t ext2 /dev/loop0 /mnt/crypt

    Copie arquivos normalmente para dentro dovolume, edite, enfim trate como uma partio

    normal.Para desmontar e "esconder" o contedo do mesmdeve-se primero desmontar o device:

    # umount /mnt/crypt

    E depois desvinculado do loopback device:

    # losetup -d /dev/loop0

    Pronto, tudo que se poder ver agora um montede bytes perdidos sem sentido ;) para voltar amontar o device deve-se proceder novamente como

    no comeo:# losetup -e aes-128 /dev/loop0 volume

    E entrar a mesma senha e ento voltar a mont-lo etudo mais. Nestes tempos de Hds removveis,chaveiros USB e outras mdias mveis, ter comoproteger seus dados sempre importante. Esperoque o artigo tenha sido til.

    Boa sorte e have fun!!!

    Thomas a.k.a. Wolvie

    Autores

    Piter PUNK, mantenedor e principal desenvolvedordo slackpkg. Possui experincia com UNIX e Linuxdesde '96 tendo escrito diversos artigos em revistas darea, atualmente, trabalha como desenvolvedor dejogos na 3WT Corporation.

    Wolvie a.k.a Thomas, usa linux desde 98 com uma(BEM) rapida passagem por algumas distribuies foo

    at encontrar a luz, sobreviveu a 2 anos do curso dem.p.c.e na FATEC-SP e hoje trabalha (ou finge que)com linux e infra-estrutura de redes. dizem as mslinguas tambm que d pitacos em C, python, shellscript e asm-x86. toca guitarra mal e porcamente etenta tocar um banda de som no definido.

    Clayton Eduardo dos Santos, trabalha com Linux acerca de um ano e meio e com Slackware a cerca deum ano. matemtico, mestre em Engenharia Eltricapela USP de So Carlos e atualmente desenvolve seuprojeto de pesquisa de Doutorado no Departamento deEngenharia Eltrica na USP de So Carlos , utilizandoferramentas 100% baseadas em software livre.

    Sulamita Garcia a.k.a. Toskinha, trabalha comlinux desde 1999 e com Slackware desde 2001, comoAnalista de Suporte, mantenedora do site de AltaDisponibilidade na UnderLinux. Atualmente participado projeto LinuxChix-Br, e trabalha como Projetistade Software da Cyclades Corporation.

    Diego Fiori Carvalho, aluno do Bacharelado emInformtica do ICMC-USP, So Carlos S.P.,utilizaLinux desde 2002, desenvolveu um sistema demultimdia interativa para Treinamento em Linux,tem grande interesse por desenvolvimento deaplicaes grficas e atualmente desenvolvedor daempresa 3WT de So Carlos.

    Deives Michellis "thefallen", Tecnlogo emProcessamento de Dados pela FATEC/SP e Gerentede Desenvolvimento de Solues Linux do GrupoGEO. Tambm nerds de carteirinha e ativista linuxnas horas vagas.

    Eduardo Costa Lisboa a.k.a. Formiga, umsujeito discreto e avesso publicidade. Ou talvez notenha lido e-mails do dia 28/11 para 29/11 paramandar o mini-currculo