PostHeaderIcon Você ainda apaga arquivos com o “rm”? Removendo arquivos de maneira segura com o shred.

Remover arquivos faz parte da rotina diária de qualquer usuário de um sistema operacional, não é mesmo? Provavelmente você deve fazer isso algumas dezenas de vezes ao longo de um dia de trabalho em frente ao computador. Caso um arquivo qualquer (como uma ISO de um sistema operacional, por exemplo) esteja sendo apagado simplesmente para liberar espaço em seus meios de armazenamento, que mal há utilizar o bom e velho “rm”? Por outro lado, tenho a impressão de que você não gostaria de saber que aquele script que contém todas as suas regras de firewall, por exemplo, ou qualquer outro arquivo com alguma informação sensível pode cair em mãos erradas se você confiar no apenas no “rm”.

Bem, primeiramente, permita que eu me desculpe por ‘descortinar’ essa verdade caso você ainda achasse, até o parágrafo anterior, que um “rm -f” era um comando forte e com tanta ‘personalidade’ ao ponto de mandar pro espaço qualquer arquivo ou diretório. O fato é que ao remover um arquivo com esse comando o sistema operacional, em poucas palavras, simplesmente retira os “ponteiros” para os blocos de dados que formavam o arquivo. Por outro lado, esses blocos estão lá em seu HD e podem, com a ajuda de algumas ferramentas, ser recuperados. Provavelmente esses blocos irão ser sobrescritos apenas quando novos arquivos forem utilizando aqueles mesmos espaços e isso pode demorar um tempo bastante considerável principalmente se o computador em questão não tiver operações um fluxo de gravação de arquivos muito intenso.

E, antes que você se pergunte, mas quem pode ter acesso ao meu HD? Bem, fácil. Seu computador pode ser invadido através da Internet, você pode perdê-lo, você pode ser roubado, você pode vendê-lo ou você pode mandá-lo para uma assistência técnica para consertar um problema, por exemplo. Enfim, são muitas as possibilidade, não é verdade? Pior ainda quando se está falando dos pequenos e portáteis pen drives que carregamos conosco o tempo todo para todo lugar. Quando é possível, pode-se utilizar os sistemas de arquivos criptografados. Entretanto, em situações onde não é possível utilizar essas soluções, é preciso tomar cuidado para garantir que arquivos sensíveis foram, de fato, removidos.

Read the rest of this entry »

PostHeaderIcon Histórico de comandos no Linux com data e hora.

Passo por aqui para deixar uma recomendação bem rápida.

Quem lida com um terminal de comandos em ambientes Linux frequentemente, especialmente através do bash, sabe o quanto o histórico de comandos é útil. Ele economiza ao longo do dia um bom tempo de digitação ajudando com a reutilização de comandos que já foram executaados anteriormente. Com alguns atalhos disponibilizados pela própria shell é possível tirar proveito ainda mais eficiente desse poderoso recurso, útil aos administradores de sistemas e a todos os usuários que necessitam do terminal. Além de facilitar a utilização, o histórico de comandos também é uma ferramenta importante para conduzir algumas investigações do que pode ter sido feito em um determinado sistema, uma vez que ele mostra a sequência de comandos executados. Para vê-lo, como muitos já estão cansados de saber, basta executar o comando "history".

E o que tem de novidade nisso? Nada a não ser pelo fato de que, muitas das vezes, os horários em que os comandos foram executados podem representar uma valiosa informação para quem está consultando o histórico. Essa informação torna-se ainda mais importante quando se tenta correlacionar comandos executados em computadores diferentes. O que poucos sabem, entretanto, é que isso é possível de configurar utilizando um recurso muito simples disponibilizado pela prória shell bash. Outra novidade? Essa informação está na própria man page da bash.

Para habilitar esse recurso, basta, por exemplo, abrir um terminal e definir a variável de ambiente HISTTIMEFORMAT por meio da execução do seguinte comando:

$ export HISTTIMEFORMAT="[%y%m%d %H:%M:%S] "

Feito isso, experimente executar o comando "history" novamente… Interessante, não? Note que você pode definir o formato e quais informações de tempo mais lhe interessam. Para tal, utilize a mesma representação de tempo implementada no comando date.

Para fazer com que os históricos de comandos sempre apresentem as informações de tempo, insira a definição dessa variável nos arquivos apropriados do seu sistema como os arquivos .bashrc e .bash_profile que ficam nos diretórios home dos usuários, por exemplo.

Bem, é isso.

PostHeaderIcon Problemas para acessar o iPhone a partir do Ubuntu 10.10?

As coisas parecem estar progredindo bastante quando se fala de GNU/Linux, não é mesmo? Lembro-me da época em que tudo era muito complicado e trabalhoso para funcionar. Hoje em dia é provável que muitos usuários instalem uma distribuição como o Ubuntu em seus computadores e, em poucos minutos, tenham tudo funcionando perfeitamente, sem que sejam necessárias peripécias e truques. Mesmo assim, problemas acontecem…

Em algumas versões anteriores do Ubuntu, por exemplo, era necessário instalar alguns pacotes e fazer algumas configurações para que fosse possível acessar um iPhone a partir de seu sistema operacional. Com o Ubuntu 10.10 (Maverick Meerkat) as coisas evoluíram bastante: ao conectar um iPhone, o sistema já apresenta o seu sistema de arquivos automaticamente e ainda fica apto a conectar com ferramentas como o gtkpod, o Banshee e o RhythmBox. Maravilha, não? Isso funciona muito bem… ou, pelo menos, funcionava até atualizar a versão do iOS para a 4.2.1… Com essa versão, a conexão do aparelho celular ao seu computador deve apresentar um erro ao invés da tela que você estava acostumado a ver.

Com uma rápida pesquisa na Internet, encontrei uma solução muito simples que resolveu o problema.  Em poucas palavras, a saída consiste em atualizar alguns pacotes, dentre os quais o libimobiledevices, uma biblioteca que provê a interface de comunicação de dispositivos como iPhones e iPod Touchs com o sistema operacional, através de um repositório que deve ser adicionado ao seu sistema operacional.

Para isso, abra um terminal como super-usuário e execute os seguintes comandos:

# add-apt-repository ppa:pmcenery/ppa
# apt-get update
# apt-get dist-upgrade

Caso seu terminal não seja de super-usuário, não esqueça de acrescentar o “sudo” antes de cada um dos três comandos anteriores.

Após a execução dos comandos anteriores, basta reconectar o iPhone ao Ubuntu e tudo deve estar funcionando novamente. Simples, não?

PostHeaderIcon Publicados os slides da palestra do Latinoware 2010.

Conforme prometido durante a palestra, acabei de publicar na seção de Palestras Recentes os slides da palestra que ministrei no Latinoware 2010. A sala estava completamente lotada. Pessoas sentadas no chão, outras em pé. Fica, então, por aqui, registrados os meus agradecimentos a todos os que estavam presentes.

Aproveito ainda para registrar meus agradecimentos à organização pelo convite para poder participar, novamente, do Latinoware. O evento estava excelente, muito bem organizado e bastante ativo. Obrigado!

PostHeaderIcon Criando um sistema de arquivos criptografado no GNU/Linux.

O aumento da capacidade de armazenamento dos meios de armazenamento (HDs, pen drives, cartões de memória, etc) e a redução drástica nos preços desses equipamentos mantém uma relação proporcional ao nível de dependência, cada vez maior, diga-se de passagem, que os usuários (e suas corporações) possuem com relação às informações preservadas nesses dispositivos. Hoje, pequenos pen drives possuem muito mais espaço de armazenamento do que servidores inteiros de alguns anos atrás. Discos com terabytes de capacidade podem ser adquiridos na maioria das lojas de informática a preços bem acessíveis. Some-se a isso o fato desses meios de armazenamento estarem menores e , portanto, “perambulando” em bolsas, bolsos, mochilas, pastas, dentre outros.

Essas facilidades, entretanto, aumentam em muito a possibilidade de se perder esses equipamentos ou mesmo tê-los furtados por outra pessoa. Ainda que sejam arquivos de natureza pessoal, tais como fotos, e-mails e outros documentos, a maioria das pessoas não gostaria de ver esses arquivos em mãos erradas, não é mesmo? Trocando o contexto para o meio corporativo, o comprometimento de informações pode inviabilizar projetos, negócios, estratégias e até a própria sobrevivência da instituição. Por outro lado, são poucas as pessoas e as instituições que têm implementados mecanismos que possam proteger as informações contra a perda ou o roubo dos meios de armazenamento. A grande maioria prefere sofrer com o arrependimento e com as lamentações quando perdem seus dados e os deixam expostos sem qualquer proteção para evitar que os mesmos sejam acessados (e explorados) livremente.

A boa notícia é que existem recursos muito simples para instalar e configurar alguns mecanismos e ferramentas para melhorar a confidencialidade de suas informações. Dentre os diversos recursos e ferramentas disponíveis, uma das mais eficazes são os sistemas de arquivos criptografados e, em ambientes GNU/Linux é algo simples de fazer. A seguir, compartilho uma das maneiras que costumo utilizar para criar, rapidamente, sistemas de arquivos criptografados. Vamos lá?

Read the rest of this entry »

PostHeaderIcon Rsync funciona com o SSH em uma porta diferente da 22?

O rsync é uma ferramenta extremamente útil e bastante utilizada por diversos administradores de sistemas Unix/Linux e até mesmo por usuários mais avançados. O próprio nome do utilitário já se confunde com a função de sincronizar arquivos e diretórios. Basicamente, quando se deseja utilizar essa ferramenta para sincronizar arquivos entre máquinas distintas, existem duas maneiras básicas e mais comuns: ou por meio de um daemon rsync que deve estar sendo executado na máquina onde se deseja sincronizar os arquivos; ou através do popular servidor SSH. Como a última alternativa já se aproveita de um serviço de acesso remoto seguro, presente na grande maioria das máquinas que possui Unix e/ou alguma distribuição GNU/Linux, essa pode ser a maneira mais prática.

Por exemplo, suponha que você deseje sincronizar o conteúdo do diretório /home/jansen/docs com o diretório /home/bkp/jansen que fica na máquina chamada aragorn.jsena.com.br. Considerando que existe um usuário chamado jsena no host aragorn.jsena.com.br e um servidor SSH, basta utilizar o seguinte comando para realizar essa tarefa:

$ rsync -avz /home/jansen/docs jsena@aragorn.jsena.com.br:/home/jsena/bkp

Simples, não? É claro que existem outras opções do rsync bastante úteis e que podem ser consideradas para fazer operações de sincronismo mais customizadas e específicas. Normalmente, o SSH irá solicitar a senha para autenticar o usuário jsena no host aragorn.jsena.com.br. Entretanto, caso seja de seu interesse executar esse sincronismo automaticamente, sem a necessidade de inserção de senha, basta gerar um par de chaves com o aplicativo ssh-keygen e transferir a chave pública do usuário (criada normalmente com o nome de id_pub.dsa ou id_pub.rsa) em seu computador local para o arquivo /home/jsena/.ssh/authorized_keys. Mas, isso é assunto para outra oportunidade. A questão aqui é tratar do seguinte problema: como fazer o rsync funcionar por meio do SSH se esse servidor não estiver sendo executado em sua porta TCP padrão, a 22?

Antes que você possa se perguntar: “afinal de contas, por que utilizar o SSH em uma porta diferente da padrão?”, aí vai uma rápida explicação. Sempre coloco esse serviço para executar em outras portas, diferentes da padrão por questões de segurança e de hábito. Isso não representa muita segurança (e uma melhor solução seria utilizar o SPA, Single Packet Authorization). Po outro lado, quando isso não é aplicável, essa medida pode, ao menos, desviar a atenção principalmente dos atacantes e/ou curiosos menos experientes. O problema é que o rsync não possui um parâmetro do tipo “port” ou “-p” para se indicar a utilização de uma outra porta quando o SSH está sendo utilizado para o sincronismo de arquivos. A solução é, por outro lado, bastante simples. Tomando como base o exemplo apresentado e supondo que o servidor SSH no host aragorn.jsena.com.br esteja funcionando na porta 22119, basta executar o comando anterior da seguinte maneira:

$ rsync -avz -e 'ssh -p 22119' /home/jansen/docs \
      jsena@aragorn.jsena.com.br:/home/jsena/bkp

Pronto. O problema está resolvido!

PostHeaderIcon Livro sorteado!

Acabei de realizar o sorteio do livro “A Revolução do Software Livre“, conforme havia anunciado AQUI. Várias pessoas participaram e fica, por aqui, registrados meus agradecimentos a todos!

O premiado foi o Robson Guimarães. Meus parabéns, Robson!

Aqui está a página que registrou o resultado do sorteio: http://sorteie.me/12m0.

PostHeaderIcon Sorteio de um exemplar do livro “A Revolução do Software Livre” pelo Twitter! Vamos participar?

Em 2009, durante o Latinoware, ocorrido em Foz do Iguaçu, foi lançado o livro “A Revolução do Software Livre“. A publicação foi o resultado de um projeto da Comunidade SOL Software Livre para ajudar a disseminar o software livre para órgãos públicos, escolas, universidades, empresas privadas e usuários, em geral. Por iniciativa da própria ONG e cumprindo a primeira etapa do projeto, diversos exemplares foram encaminhados, sem qualquer custos, para muitas organizações ao redor do Brasil. O livro trata de variados assuntos associados ao software livre abordados por 10 autores, dentre eles esse que vos escreve e outros tais como Christiano Anderson, Marcelo Ferreira, Cezar Taurion, Pedro Rezende, Tiago de Melo (organizador), dentre outros. O prefácio foi escrito por John “maddog” Hall. Ficou interessado em ter uma cópia do livro gratuitamente? É simples… basta participar do sorteio que estou fazendo pelo Twitter.

Para participar basta postar um tweet ou um RT com o seguinte texto e link:

@jansensena Quero o livro “A Revolução do Software Livre”. http://kingo.to/2mw

O sorteio será realizado no dia 17/09.

Quem não confia na própria sorte, pode adquirir o livro diretamente pelo site da Linux Mall.

PostHeaderIcon FASOL 2.0: Software livre na Pérola do Tapajós.

Foto tirada no encerramento do FASOL 2010.

Distante quase 1000 km da capital do estado do Pará, Santarém, uma pequena e calorosa cidade localizada na região do Médio Amazonas, abrigou o FASOL 2.0 (Fórum Amazônico de Software Livre) na primeira semana de setembro. Conhecida como “Peróla do Tapajós”, a cidade presencia o mágico encontro das águas barrentas e verdes dos rios Amazonas e Tapajós, respectivamente, e esbanja uma beleza natural única o que lhe confere o título de “Caribe Brasileiro“. Mais interessante é notar que a cidade tem criado nos últimos anos um clima favorável e de sucesso para associar sua beleza natural a um ambiente colaborativo de compartilhamento do conhecimento por meio do software livre.

A cada ano, a comunidade de software livre de Santarém tem aumentado, amadurecido e evoluído consideravelmente. O próprio FASOL 2.0 é uma prova viva da força desses aguerridos guerreiros do software livre. Esse ano, tive a oportunidade de estar novamente na cidade para participar do evento. Ministrei dois mini-cursos: um de shell script e outro de configuração de servidor de emails com software livre; e ainda apresentei a palestra “Software Livre: Quais São os Nossos Desafios?”, todos no último dia.

Palestrantes e organizadores do FASOL 2010.

O evento contou com outros palestrantes nacionais e locais que abordaram temas técnicos e outros relacionados à inclusão digital e ao movimento de software livre, por exemplo. Dentre os palestrantes estiveram presentes a Prof. Dra. Fátima Conti (Universidade Federal do Pará), João Fernando (Revista Espírito Livre), Daniel Bruno (Projeto Fedora Brasil), Jader Gama (Projeto Puraqué), Wilken Sanches (Coletivo Digital), Enoque Calvino (UFOPA), Carlo Seixas (Futura Ubuntu), Rommel Sousa (Comunidade SOL e Ministério Público do Amazonas), Paulo Lima (Projeto Saúde & Alegria), dentre outros. Mini-cursos técnicos de assuntos variados também estiveram presentes na grade de programação do FASOL. Um deles, conduzido por Rommel Sousa, da Comunidade SOL Software Livre e do Ministério Público do Amazonas, sobre edição de vídeos com software livre, produziu como resultado prático um pequeno documentário sobre o próprio evento utilizando imagens gravadas ao longo da semana em que o FASOL foi realizado. O vídeo, exibido na sessão de encerramento, pode ser assistido AQUI.

Uma das coisas mais interessantes do evento foi a ampla participação de crianças das escolas públicas ao longo do dia para realizarem atividades nos mais de 250 computadores instalados com software livre e acesso à Internet para essa finalidade. Inclusão digital na prática!!!

Enfim, Santarém e toda sua comunidade de software livre estão, novamente, de parabéns! Ficarão boas lembranças desses dias de setembro de 2010…

PostHeaderIcon Relembrando os clássicos do Atari dos anos 80 no Ubuntu.

River Raid executando no emulador de Atari 2600 Stella

É assustadora a quantidade de botões, combinações, truques e interatividade dos novos consoles de video games. Mais espantosas ainda são a qualidade e a realidade dos gráficos e dos sons de cada jogo o que faz com que os novos “brinquedos” atraiam a atenção de muitos marmanjos. Entretando, nem sempre foi assim. Existia uma remota época em que os video games tinham muito menos recursos e o gráfico precisava ser “completado” com uma boa dose de boa vontade e de imaginação das crianças e dos jovens. Ao invés de incontáveis botões, apenas um controle para direcionar e um botão para apertar eram suficientes. Essa era a realidade dos jogos nos anos 80.

Apesar de bem ultrapassados para os dias de hoje, esses jogos eletrônicos fizeram parte da vida de muitas crianças daquela época. Se você ficou horas em frente ao aparelho de televisão jogando clássicos como River Raid, Pitfall, Enduro, Missile Command, H.E.R.O e muitos outros, você deve ter boas memórias do video game mais clássico daqueles tempos: o Atari 2600.

Se você é dessa época e quer reviver esses momentos em seu Ubuntu é bem simples e demora apenas alguns poucos minutos para tudo estar instalado e funcionando.

O primeiro passo é instalar o Stella, um emulador do Atari 2600 já presente nos repositórios do Ubuntu. Para isso, abra o terminal de comandos e, utilizando o apt-get, instale-o em seu sistema:

$ sudo apt-get -y install stella

Uma vez que o Stella está instalado, o próximo passo é baixar as ROMS dos jogos. Isso pode ser feito baixando o arquivo Roms.zip do site AtariMania. Concluído o download, descompacte o arquivo em uma pasta de sua preferência. Em seguida, execute o Stella por meio do ambiente gráfico (Applicações > Jogos > Stella) ou ainda a partir de um terminal de comandos utilizando o seguinte comando:

$ stella

Assim que o Stella for iniciado basta entrar no diretório onde as ROMs foram descompactas e escolher, dentre os muitos jogos,  aquele que você deseja jogar. Simples, não? Depois, é só aproveitar e recordar! Ainda que você não seja desses tempos, vale a pena conferir.