Limpe com segurança todo um servidor Linux consigo mesmo

21

Eu tenho acesso ssh remoto e acesso root. Eu não tenho acesso físico. Eu não estou procurando soluções envolvendo a inicialização em qualquer coisa, eu quero fazer isso a partir do que está sendo executado.

OS é o SL6. Existe uma maneira de carregar tudo o que é necessário na RAM e usar o dd ou similar para limpar com segurança todo o disco? Obviamente, isso resultará em uma caixa não funcional no final, meu resultado pretendido.

Parece que isso deveria ser possível.

Mais duas adições interessantes:

  1. Ser capaz de executar o ssh, executar a tela, executar o comando dd e desanexar. Faça o login uma semana depois, uma vez terminado. :)

  2. De alguma forma, tem uma barra de progresso?

Atualização : Eu estou indo agora com a opção chroot. Atualmente fazendo:

mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot .

Qual funciona (!) mas eu ainda preciso de / dev / zero e / dev / sda. Alguma idéia aí?

Atualização 2012-07-20:

mkdir /dev/shm/ramdisk/ && cd /dev/shm/ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && mkdir /dev/shm/ramdisk/dev && cd /dev/shm/ramdisk/dev && cp -a /dev/zero . && cp -a /dev/sda . && cd .. && chroot . dd if=/dev/zero of=/dev/sda bs=1M

O que parece estar fazendo alguma coisa, mas eu gostaria de ter algum tipo de indicador de progresso, se possível, bem como uma maneira de desanexar e depois estabelecer uma nova conexão ssh mais tarde.

    
por cat pants 17.07.2012 / 21:14

3 respostas

11

Crie uma imagem em um ramdisk contendo as ferramentas que você precisa para eliminar o sistema, então pivot_root , execute a ferramenta, você vai. Girar fora de um sistema completo não é trivial, mas isso pode ser feito se você souber o que está fazendo.

    
por 18.07.2012 / 00:44
8

Eu fiz isso algumas vezes executando

dd if=/dev/zero of=/dev/sda

sem preparações adicionais. funcionou. o sistema estava funcionando bem por dias depois que o dd terminou [respondendo a pings, encaminhando pacotes].

    
por 17.07.2012 / 21:18
0

Sugestão: use wipe em vez de dd - ele suporta limpeza segura de várias passagens.

Outra sugestão: interromper o máximo de serviços e excluir tantos pacotes quanto possível. Exclua todos os dados que você não precisa e todos os seus arquivos e dados de log antigos. Preencha o máximo possível o espaço livre resultante com um único arquivo e execute a limpeza nesse arquivo. Não apague esse arquivo. Isso cuidará de limpar a maior parte do disco antes de tornar o sistema inutilizável.

A ideia do chdot ramdisk seria então necessária para fazer você ultrapassar qualquer drama com a volta à caixa, mas você provavelmente vai querer quiesce o sistema tanto quanto possível antes de fazer a limpeza final, porque log e outros daemons gravar em disco pode significar que os dados reais são gravados para liberar blocos de dados enquanto a limpeza está acontecendo, antes que a estrutura do sistema de arquivos esteja completamente corrompida.

    
por 21.07.2012 / 06:49