Resposta curta: fará aproximadamente o que você deseja e, em seguida, nada funcionará. Usar dd
você está operando em um nível abaixo do sistema de arquivos, o que significa que quaisquer restrições que se aplicariam não são mais relevantes (isso não significa que o kernel não possa impedi-lo de fazer isso - mas não o faz). Algum conteúdo do sistema de arquivos já está na memória, por exemplo, o kernel e o dd
próprio programa, e alguns estarão em cache. Existe a possibilidade de que, se o sistema estiver no modo multiusuário, alguns arquivos possam ser gravados de volta enquanto dd
estiverem em andamento, supondo que eles realmente tenham sido alterados, e se você estiver com pressão de memória, algumas páginas de lá também poderão ser trocadas (eles devem ser criptografados e, portanto, inutilizáveis após a reinicialização).
A maioria dos comandos que você emitiria após isso - incluindo reboot
- não estaria no cache e, portanto, não funcionaria. Portanto, se você estiver no modo de usuário único, ele se sairá extremamente bem; se você estiver no modo multiusuário, ele limpará a grande maioria dos dados. Idealmente, você deve fazer o boot de algum outro meio (até mesmo parar no initrd, talvez) para ter certeza de onde todas as gravações estão vindo.
Se você deseja uma limpeza segura, isso não funcionará porque ainda restarão alguns traços dos dados originais se você apenas zerá-los. Normalmente, você deseja até três gravações aleatórias, o que significa copiar em /dev/urandom
vez de /dev/zero
- muito mais lento, mas mais seguro. Alguns podem sugerir que você use /dev/random
o dispositivo para dados aleatórios "puros" - não pseudoaleatórios -, mas para esse propósito, a chance de alguém conseguir quebrar a semente do PRNG e mascarar com êxito os dados é essencialmente insignificante.
Se você é realmente paranóico, precisa jogar o dispositivo de armazenamento em um forno para desmagnetizar / descarregar.