Pages

Sunday, September 28, 2008

De quem é esse pendrive ?

Creio que a maioria de nós usa pendrive. Talvez, todos nós tenhamos pelo menos um.
Usualmente, os pendrives eram formatados com FAT 16. Isso é um sistema de arquivos muito ruim e universal. Muito ruim, porque, bem ... é muito ruim e eu não vou listar a longa lista de problemas desse sistema de arquivos. E é Universal porque eu não conheço sistema operacional que não saiba ler e escrever nesse tipo de partição. É fato também que os pendrives grandes (maior que 2 GB) vêm com o FAT 32. Ele não é tão ruim como o FAT 16 (embora também seja ruim) e mantém a compatibilidade de seu antecessor.

Seja 16 ou 32, o fato é que o sistema é FAT. Isso têm vantagens, mas também tem problemas. E eu destaco dois problemas.
  1. Sistema de arquivos que não suporta permissões avançadas (tipo "dono", só por exemplo).
  2. Insegurança. Extremamente frágil e compatível com qualquer computador ... você não guarda sua senha do banco nele, não é ?
Dito isso, eu atualmente mantenho dois pendrives. Um pequeno com o sistema FAT 32 para transporte entre sistemas operacionais ou para apresentações em ambientes externos e outro grande, com um sistema de encriptação a prova de curiosos. Mas não é sobre o sistema de encriptação que eu quero falar hoje, mas o que está dentro do sistema de encriptação (falei nisso apenas para ilustrar o meu caso real).

Encriptado ou não, uma partição precisa ser formatada. Aí entra uma escolha. FAT ou um sistema *NIX (tipo "ext3"). Minha escolha foi o ext3. Sem problemas, certo ?

Mais ou menos...

Se você usa apenas um computador isso não é problema. Se você encaixa esse pendrive em mais de 10 computadores diferentes isso é um GRANDE problema se não existir uma política de mesmo ID em todos os computadores. Porque, nesse caso, você monta o pendrive e descobre que não tem acesso ao arquivo porque ele pertence a outro usuário do sistema... ok, se você tiver a senha de root isso não é problema (ou melhor, até é, porque é um incômodo), mas normalmente não é assim, certo ?

Para quem não entendeu... o GNU/Linux não reconhece o arquivo como sendo do usuário "joao" ele reconhece o arquivo como sendo do usuário "1015" na máquina Y, onde você criou o arquivo. Se o usuário "1015" for o "jose" na máquina X (máquina diferente), nessa máquina o arquivo "pertence" a "jose" não a "joao". Assim, você loga como "joao" e não consegue ter acesso ao seu dado, porque segundo o sistema ele não é seu.

O que fazer ? Algumas soluções:
  1. Montar o sistema de arquivos com a opção que ignora a propriedade definida do arquivo. Não recomendo, mas o ext3 permite isso (só cuidado com o comando mv, a princípio, essa solução funciona apenas para quem copia arquivos para o pendrive, não para quem move arquivos para o pendrive).
  2. definir permissão 777 para todos os arquivos que copiar para o pendrive. Também não recomendo. Entre outros problemas, prejudica a eventual sincronização de diretórios definindo permissões que não é usual para um certo arquivo. E não é prático. Você vai esquecer de mudar a permissão daquele arquivo que você precisa muito e com urgência... vai ver ... a solução 1 faz a mesma coisa e não precisa de lembrar de mudar a permissão.
  3. Usar um grupo comum a todos os usuários. Isso é uma idéia interessante. Se mantiver o hábito de permitir a leitura para os usuários do mesmo grupo (configuração usual da maioria das distribuições), isso é a solução. Só não esqueça de definir a permissão de escrita ao grupo no diretório base do pendrive (é necessário fazer isso apenas uma única vez).
  4. Permissão 777 apenas para a raiz do pendrive, sem se preocupar com o modo dos arquivos. Particularmente é a solução que eu uso. Existe o risco calculado de que não se possa ler um certo arquivo em alguma máquina, mas sempre será possível escrever no pendrive. Isso é o mínimo, certo ?
  5. Fazer uma abaixo assinado pedindo uma política de mesmo ID em todas as redes e subredes a qual você tem algum acesso. Em empresas isso pode até ter resultado ....
Apenas a solução 2 e 4 estão nas mãos unicamente do usuário. A solução 1 e 3 depende do administrador do sistema (mais a 3 do que a 1). A solução 5 depende da sua fé e das máquinas que nós estamos falando (Imagina a cena: "Crie uma conta para mim, mas eu quero o ID '2234'. Eis que respondem - na boa vontade -, mas esse já está em uso ... você tem que escolher outro". ).

A solução 4 evita a zona que ficaria se tivesse que sincronizar dados com o sistema se estiver usando a solução 2, contudo, existe o risco. Eu digo risco calculado, porque eu acredito que exista um certo controle sobre onde você vai colocar esse pendrive. Para os casos onde isso não é possível eu uso FAT. Assim eu não tenho que lembrar de modificar as permissões do arquivo.

Idealmente, em máquinas onde eu sou o usuário principal (e com a senha de root em mãos), eu defino o mesmo ID entre elas, de forma que o problema não ocorre, posso até sincronizar dados entre as máquinas via pendrive.

Até agora eu falei pendrive o tempo todo. Mas pense grande. Pense em um HD externo de 750 GB e vai ver que esse tipo de problema tem que ser pensado com carinho. Especialmente se for para manter uma cópia de sincronia entre duas máquinas separadas por uma conexão de rede de "baixa" velocidade (rede que não é gigabit).

No comments:

Post a Comment