O que é o Linux para SET FILE / ERASE_ON_DELETE?


16

No VMS, pode-se dizer ao sistema de arquivos para escrever lixo sobre o conteúdo existente de um arquivo quando ele é excluído. Aqui está o comando DCL para identificar o arquivo para este tipo de tratamento:

 $ SET FILE/ERASE_ON_DELETE SAMPLE.TXT

Isso permite que a política seja definida em um determinado momento, e os usuários posteriores do arquivo não precisam lidar com esses detalhes de segurança. Uma exclusão padrão que retira o nome do arquivo do diretório e libera espaço para outro arquivo também modificará o conteúdo existente para impedir que o próximo usuário o leia. A exclusão normal:

$ DELETE SAMPLE.TXT.*

O que é o Linux para isso?

Respostas:


19

Isso é suportado apenas por alguns sistemas de arquivos Linux:

chattr +s sample.txt

pode (ou não) fazer o que quiser.

De man chattr:

NAME
       chattr - change file attributes on a Linux second extended file system
...
       When a file with the ‘s’ attribute set is deleted, its blocks are
       zeroed and written back to the disk.  Note: please make sure to read
       the bugs and limitations section at the end of this document.
...
BUGS AND LIMITATIONS
       The  ‘c’, ’s’, and ‘u’ attributes are not honored by the ext2
       and ext3 filesystems as implemented in the current mainline Linux
       kernels. These attributes may be implemented in future versions of
       the ext2 and ext3 filesystems.

Não sei quais versões específicas do kernel da linha principal (se houver) implementam isso.


2
Uau, você aprende algo novo todos os dias. O xfs ou zfs implementa esse sinalizador?

8

Observe que, com a tecnologia atual, às vezes você não tem controle sobre isso. Com discos SSD, cada gravação pode ser feita em um local diferente, mantendo os dados antigos ... e isso não pode ser substituído pelo sistema operacional, sistema de arquivos ou qualquer coisa no software. Mais em http://www.anandtech.com/printarticle.aspx?i=3531 .


7

O equivalente mais próximo que você normalmente encontra em sistemas unix é a criptografia. Uma maneira fácil de configurar um diretório criptografado no Linux (e na maioria das outras unidades) é o Encfs . Começo rápido:

mkdir .ciphertext encrypted
encfs .ciphertext encrypted
# work on encrypted/file
fusermount -u encrypted

Existem várias outras opções para criptografia do sistema de arquivos. Consulte Como melhor criptografar e descriptografar um diretório via linha de comando ou script? , Melhor maneira de fazer criptografia de disco completo? , e vários outros tópicos sobre Superusuário , Falha no servidor e Ask Ubuntu .

Não sei FILE/ERASE_ON_DELETEcontra o que as ameaças protegem. Observe que no unix, o conteúdo anterior de um arquivo reescrito ou excluído só pode ser visto pelo administrador do sistema ou alguém com acesso físico à unidade: não existe um "modo rápido de criação de arquivo" que preencha um arquivo com dados aleatórios que apenas passou a estar na região do disco usada pelo arquivo.


4

Não tenho certeza se é isso que você está procurando:

dd if=/dev/urandom of=FILE

Ele escreve bytes aleatórios em FILE.


Não é exatamente a mesma coisa, mas provavelmente é o mais próximo que você chega no Linux padrão.

Ah eu vejo. Obrigado por me informar, Paul.
Alan Haggai Alavi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.