Whatsapp

Você conhece algum maluco "rm

Anonim

O rm -rf é um comando Bash semelhante ao DROPcomando SQL. A menos que você tenha uma réplica (backup) de sua tabela de banco de dados, você perderá todos os dados.

rm -rf é um comando que, quando invocado sem privilégios de root, removerá todas as pastas às quais o usuário tem acesso. Quando invocado com privilégios de root, ele destruirá seu disco rígido.

Não tive o azar de cometer o erro de executar este código em um servidor de produção antes, mas nem todos tiveram essa sorte. Aqui estão algumas rm -rf histórias interessantes que você pode encontrar.

1. Thomas & the CLI-based Trash Program

Thomas estava em seu laboratório College Unix trabalhando em um projeto intermediário para o qual ele estava conectado a um servidor em um laboratório adjacente usandoPuTTY + RealVNC.

Seu projeto era direto: criar um programa CLI “trash” que obtém uma lista de caminhos de arquivo e os move para um~/.trash diretório. Você pode então “empty the trash” que executa rm no diretório. Ele havia feito a primeira parte e estava completando o comando vazio.

De alguma forma, ele definiu a variável errada que deixou o caminho de remoção como / e ele tinha acesso sudo. Nada aconteceu quando ele executou o código no início, mas logo depois o código apresentou falhas e começou a exibir estática. Ctrl + C não poderia ajudar. Em seguida, o monitor ficou em branco e desconectado.

Seu código executou um sudo rm-rf / e que apagou todos os dados no servidor. Felizmente para Thomas, ele estava trabalhando no servidor de teste do departamento e conseguiu recuperar os dados dos discos de backup. Ele não perdeu sua admissão.

2. Uma limpeza limpa durante uma sessão de backup

Alex era um administrador de rede em uma empresa que fazia backup de suas máquinas por meio de scripts. Em uma fatídica sexta-feira, ele atualizou o script com o texto, rm -rf ${DIRECTERY}/ em vez de rm -rf ${DIRECTORY}/ – atualizando o comando para apenas rm-rfporque o ${DIRECTERY} tornou-se uma string vazia.

A sessão de backup começou mais tarde naquela noite e, antes que Alex percebesse, todas as máquinas da rede foram apagadas! Felizmente para ele, a empresa faz backup dos arquivos a cada hora, então nenhum dano foi causado.Apesar disso, foi um fim de semana movimentado. Bastante irônico que uma tarefa de backup limpe os sistemas, certo?

3. O limpador recursivo automatizado

Uma vez Eric estava trabalhando em um servidor de arquivos e queria limpar alguns arquivos automaticamente toda semana. Ele planejou sua linha e a testou com o objetivo de remover apenas arquivos relativamente antigos. Seu trabalho estava em um único diretório, então ele não achava que algo poderia dar errado. Bem, mais tarde ele descobriu que adivinhou errado.

Ele executou o seguinte comando e funcionou. Em seguida, ele adicionou manualmente a linha no crontab e foi quando ele substituiu erroneamente o . por um / .

 achar . -type f -name-ctime -60 -exec rm -rf {} \;

Avanço rápido para uma semana depois e um número significativo de arquivos havia desaparecido. O pior é que eles foram excluídos no que parecia ser um padrão aleatório, então ele pensou que a empresa estava sendo hackeada até que ele executou uma verificação de código e percebeu que era o hacker.

Felizmente, ele manteve backups externos todos os dias para poder corrigir seu erro. Desde aquele dia, você pode apostar que ele tem sido supercuidadoso com os comandos que executa com privilégios de administrador.

Os 2 pontos principais para levar para casa existentes nas histórias acima são 1, sempre verifique seu código e seu possível efeito resultante e 2, sempre mantenha seus backups o mais atualizados possível, porque você nunca sabe quando eles serão úteis.

Você conhece alguma história maluca de rm -rf da experiência ou de outro lugar? Compartilhe conosco na seção de comentários.