Se, por algum motivo, você quiser destruir o disco INTEIRO em vez de apenas os dados confidenciais enquanto o sistema estiver em execução, a única maneira de fazer isso é criar uma montagem tmpfs (ou outro ramdisk), copiando os principais utilitários para ele, em seguida, usando pivot_root
para mover o sistema de arquivos raiz para o ramdisk e, em seguida, desmontando a partição para fragmentá-lo conforme A resposta da Womble aqui . Na verdade, fazer isso é um desafio, que eu tentei ver uma vez se é possível , e foi capaz de obter praticamente tudo, mas init
trabalhando a partir do ramdisk, mas teve problemas ao obter init
para mover seu canal de controle ( /dev/initctl
) para que eu pudesse desmontar a partição. / p>
Alternativamente, com base em esta resposta , você pode tentar fechar tudo o que pode tentar gravar um arquivo de log, matar tudo caso contrário, use lsof
para localizar processos com arquivos abertos e eliminá-los, depois tente fragmentar a partição. Se você tiver sorte, o processo será concluído antes que o kernel descubra que o sistema de arquivos está corrompido e entra em pane. Se você não estiver, o kernel entrará em pânico, o fragmento será interrompido e o sistema definitivamente não poderá ser inicializado, sem que seja possível terminar a fragmentação.
Caso contrário, se você precisar fragmentar os dados, acho que você pode ter certeza de fazer isso se o diário estiver definido como data=ordered
ou writeback
por a página do shred, e então destruir os arquivos de dados existentes (se for não configurado para um modo suportado, parece que a alteração requer uma reinicialização). Para fragmentar o espaço não alocado onde os arquivos de dados podem ter existido, use dd
para preencher a unidade com arquivos grandes e, em seguida, destrua-os também. Observe que essa opção pode deixar vários bits de metadados (entradas de diretório com nomes de arquivos, propriedade, filesizes, etc) intactos. O processo dd
precisará ser executado como root para garantir que ele preencha a unidade, pois (por padrão) o espaço é reservado para o uso da raiz que não pode ser preenchido por um usuário comum. Você pode querer parar de registrar (ou logar em uma partição separada ou tmpfs) durante isto, pois problemas irão surgir quando a unidade estiver completamente cheia.