Quão longe você pode ir com rm -rf / as root

21

Se você é root e emite

rm -rf / 

Então, até onde o comando pode ir? Você pode recuperar dados desse tipo de ação? Mesmo depois que os binários se forem, os processos em execução ainda estarão ativos? O que seria necessário para fazer a mesma inicialização da máquina física novamente? Quais arquivos você precisaria restaurar para que isso acontecesse?

Eu poderia tentar isso em uma VM e ver, mas eu quero saber a lógica por trás do que esperar se eu fizer isso.

    
por Sudipta Chatterjee 27.08.2011 / 11:06

5 respostas

21

Esse comando não faz nada, pelo menos no SO que eu uso (Solaris) com o qual esse recurso de segurança foi implementado pela primeira vez:

# rm -rf /
rm of / is not allowed

Em outros * nix, especialmente na família Linux, se um Gnu rm recente for fornecido, você precisará adicionar a opção --no-preserve-root para permitir que o comando seja concluído (ou pelo menos iniciado).

A que distância este comando é indefinido? Depende de muitos eventos mais ou menos imprevisíveis. Geralmente, os processos podem ser executados mesmo depois que seus binários foram removidos.

    
por 27.08.2011 / 11:47
4

Mesmo com a excelente resposta do jlliagre, lembre-se que isso ainda é uma coisa muito perigosa para se fazer. Sempre verifique novamente onde você está antes de fazer coisas como rm -rf . Seria catastrófico se você fizesse rm -rf * no diretório / usr, por exemplo.

Quanto ao restante de suas perguntas, o que você pode recuperar depende dos procedimentos de backup. Na maioria dos sistemas * nix, não há uma maneira simples de recuperar arquivos e diretórios depois de serem excluídos. Ao contrário dos antigos dias do DOS, em que os arquivos ainda estavam no disco após a exclusão, a maioria dos sistemas atualmente faz coisas que tornam a recuperação muito difícil. Esta é uma das razões pelas quais os serviços de recuperação de dados são tão caros.

Se você estiver usando uma VM, eu recomendo fazer instantâneos de vez em quando no mínimo. Mas nada pode bater seguindo um bom plano de backup.

    
por 27.08.2011 / 13:06
2

Como algumas pessoas disseram, você ainda pode usar sudo rm -rf /* para remover qualquer coisa. Sem o asterisco funciona no OS X também. Alguém fez uma filmagem sobre a destruição do OS X Yosemite assim, e eu tenho certeza que o SO baseado em Linux irá experimentar o mesmo.

As coisas começam lentamente a ficar irresponsivas. Eu não acho que tudo foi deletado, pois o terminal congelou enquanto o processo estava acontecendo, mas foi o suficiente para congelar tudo e reiniciar a força.

A tentativa de reinicializar causa um modo de usuário único, como a tela de inicialização com erros.

    
por 10.03.2016 / 11:41
2

Eu apenas tentei com o Ubuntu 16 e vmware workstation e com a opção no-preserve-root ele apagou todo o disco do meu sistema linux em execução. Depois disso, todo o aplicativo da estação de trabalho VMware ficou inutilmente instável e até mesmo desligar ou reinicializar a máquina virtual do aplicativo era impossível. Matar o vmx foi recusado apenas uma reinicialização do host funcionou depois disso!

    
por 01.09.2016 / 21:21
1

Não se pode simplesmente destruir seu sistema emitindo rm -rf / como root. Inicialmente, o comando será emitido no modo à prova de falhas, que restringirá o uso de rm em / , mas mesmo com --no-preserve-root como argumento, o sistema em execução não permitirá a remoção de processos em execução do disco ; no entanto, o resto dos programas e arquivos serão removidos, deixando um sistema inutilizável com (quase) nenhum programa para rodar! Por favor, verifique as imagens aqui, o comando foi emitido no Arch Linux no Virtual Box: link

    
por 27.08.2011 / 21:48

Tags