Programar um arquivo para se autodestruir em um determinado momento

1

Alguém sabe se existe um comando no linux que pode definir atributos para o arquivo para que o arquivo possa desaparecer após certo tempo. Por exemplo, se eu definir um atributo como "1/1/2015", o arquivo será excluído nesse momento. Ou existem outras maneiras de tornar esse arquivo acessível depois de algum tempo? Por exemplo, eu posso definir a senha para o arquivo e depois de algum tempo, a senha será expirada e será uma nova senha e o arquivo não será mais lido.

Eu sei no meu próprio computador, posso definir como cron tarefas. Mas eu só quero saber se eu enviar este arquivo para outras pessoas, o arquivo pode se excluir ou tornar-se ilegível automaticamente.

    
por user3236636 04.03.2014 / 20:45

6 respostas

11

Dados que se autodestrói são uma farsa. Isso é algo que só é possível em filmes de Hollywood.

Você pode limitar o acesso a recursos sobre os quais você tem controle, mas se um recurso estiver disponível por qualquer período de tempo, você também pode supor que ele foi copiado e estará disponível em outro sistema.

    
por 04.03.2014 / 21:27
5

Os inodes do UNIX (nem qualquer conjunto de ACLs estendidos que conheço) não têm o campo "última hora possível para acessar". Há três timestamps em um inode do UNIX (manter anotações, porque eu já fiz isso duas vezes durante entrevistas de emprego):

  • ctime. No Windows, esse é o "tempo de criação". No UNIX, esta é a última vez que as informações do inode para o arquivo foram alteradas.
  • atime. A última vez que o arquivo foi acessado. Como ele pode atrasar a gravação de um disco toda vez que um arquivo é lido, há uma opção de montagem nas distribuições modernas do Linux chamada "relative atime", que minimiza a frequência com que essas informações são atualizadas.
  • mtime. A última vez que o conteúdo do arquivo foi alterado

E, oh, um inode é uma coisa em sistemas de arquivos UNIX que possui informações sobre um arquivo (suas permissões, registros de data e hora, onde o arquivo está no disco rígido, etc.)

Portanto, para resumir, como não há um campo "ltime" (última vez que alguém tem permissão para acessar um arquivo) em inodes, isso não pode ser definido. Uma solução alternativa seria ter um crontab que exclua um arquivo em um determinado momento ou altere as permissões de um arquivo para que ele não possa mais ser lido.

    
por 05.03.2014 / 00:28
4

Não faz muito sentido o que você diz, se o destinatário puder ler um arquivo em determinado ponto, ele poderá fazer uma cópia e não precisará de mais acesso ao recurso original, pois ele é lido apenas como você disse. Além disso, como uma solução elaborada, você pode considerar envolver o recurso com algum software que fornece tokens criptográficos, como chaves Hasp, etc.

    
por 04.03.2014 / 21:13
3

Se o destinatário puder ver o conteúdo uma vez, ele poderá fazer uma cópia para guardar e esquecer todo o absurdo de "autodestruição em 50 segundos". Isso é independente de se o arquivo apenas vive neste sistema único ou é enviado por aí, se você precisar de uma chave para lê-lo, o que for.

    
por 05.03.2014 / 02:48
1

O que você está descrevendo é essencialmente um DRM para sistemas UNIX / Linux.
O DRM é geralmente implementado ao criptografar o arquivo e ter um sistema central para gerenciar a entrega de chaves de descriptografia de acordo com os parâmetros definidos, mas o software que descriptografa o conteúdo geralmente pode ser hackeado para permitir a gravação da versão não criptografada.

MPAA, o consórcio de DVD e muitos outros tentaram criar um DRM à prova de balas e falharam, então não acho que haja esperança de fazer isso.

    
por 05.03.2014 / 15:48
0

No snapchat, isso (mais ou menos) funciona porque o arquivo é recebido e excluído por um aplicativo e nunca é realmente visualizado a partir do sistema de arquivos (nunca armazenado). É mais como uma imagem em uma página da Web que "desaparece" quando você fecha o navegador. Se for um arquivo de propósito geral, ele deve ser copiado, salvo e assim por diante. Ele precisaria ser executável para fazer qualquer coisa para si mesmo e precisaria ser executado no momento (o que é improvável). Pode até não ter permissão para se excluir.

Além disso, mesmo no snapchat e em truques semelhantes, é mais difícil, não impossível, copiar o arquivo. Uma imagem pode ser tirada da tela, qualquer arquivo temporário pode ser copiado antes da exclusão, e qualquer coisa que esteja na memória RAM pode ser capturada e armazenada em algum lugar, você só precisa saber onde ela está. Mesmo com a encription (lembre-se de DRM), você pode interceptar o arquivo quando ele é decodificado (mais difícil se isso acontecer dentro de um monitor em vez de um computador, mas ainda assim não impossível).

Em suma, isso é praticamente impossível, vai contra o conceito e propósito de um arquivo, e todos os hacks precisariam estar muito sujos e facilmente contornáveis.

    
por 05.03.2014 / 09:03