Não execute estes 5 comandos do Linux – aqui está o porquê
Quer preservar seu sistema? Evite executar esses comandos do Linux a todo custo.
Como Terry Lambert, o desenvolvedor por trás do ancestral do Linux Unix, disse certa vez: "Não é função do Unix impedir você de atirar no pé. Se você decidir fazê-lo, então é função do Unix entregar o Sr. Bullet ao Sr. Foot em da maneira mais eficiente que conhece."
É exatamente assim que o Linux e o Unix funcionam.
Você não precisa se preocupar com isso se usar aplicativos gráficos Linux em desktops como GNOME, KDE ou Cinnamon. Esses desktops vêm com cintos de segurança e alças. Você teria que se esforçar muito para destruir sua máquina Linux a partir de uma interface gráfica de usuário.
Se, no entanto, você é um administrador ou usuário avançado do Linux e costuma usar comandos shell e/ou escrever scripts shell, então, meu amigo, você pode estragar o dia do seu computador com o comando errado na hora errada.
Lembre-se, nunca tente esses comandos em casa, no escritório ou em um sistema de produção.
1. O grande problema: Removendo o sistema de arquivos raiz do Linux
rm -rf /
Este é o comando que todo administrador Linux sabe - ou deveria saber, pelo menos - que deve evitar.
Por si só, rm é muito útil. Ele permite que você exclua até mesmo os arquivos mais difíceis. Mas quando você combina rm com esses dois sinalizadores: -r, que força a exclusão recursiva em todos os subdiretórios, e -f, que força a exclusão de arquivos somente leitura sem confirmação, você está procurando problemas.
Se você executá-lo no diretório/root, você limpará todos os dados de toda a unidade.
Embora usado como piada para piadas sobre erros de administradores de sistema, as pessoas ainda fazem isso na vida real. Como um usuário confessou: "Um dos meus piores erros foi pressionar acidentalmente a barra de espaço enquanto digitava rm –r /this/is/my/folder/[ACCIDENTAL_SPACE]* e, inacreditavelmente, não percebi isso mesmo quando pressionei a tecla Enter ."
Nesse caso, tudo naquele diretório foi excluído porque ele usou o curinga “*”. Tchau, arquivos! Não há lixeira no shell para salvá-lo.
A maioria dos sistemas modernos avisa em letras grandes antes de você cometer esse erro. No entanto, você pode digitar seu sistema em um buraco negro se estiver ocupado ou distraído enquanto digita no teclado. Eu já vi isso ser feito e tive que restaurar sistemas inteiros a partir da fita (o que você nunca vai querer fazer, acredite em mim).
2. dd significa destruidor de disco
Na verdade não, mas com certeza parece que sim. dd é usado para fazer cópias digitais de praticamente qualquer coisa em um computador. Usado corretamente, é poderoso, útil e rápido. Mas quando usado incorretamente, pode destruir sistemas de arquivos num piscar de olhos.
Já ouvi muito mais exemplos de dd causando estragos em unidades e arquivos do que rm. Isso ocorre porque dd possui uma sintaxe de comando exclusiva. Se a memória digital levar você a colocar sinalizadores errados, você poderá fazer coisas terríveis em seu sistema de arquivos. Na verdade, o cofundador e hacker de código aberto Eric S. Raymond especulou que a sintaxe de comando do dd, que se parece muito mais com IBM JCL do que com a sintaxe de comando típica do Unix/Linux, "era claramente uma brincadeira."
Infelizmente, se for uma piada, é uma piada ruim que continua viva. Assim, por exemplo, o comando:
dd if=/dev/zero of=/dev/hda
extrai seus dados do arquivo especial, que gera uma infinidade de zeros, e os espalha por todo o disco rígido.
Isso pode parecer bobo, mas /dev/zero tem usos reais. Por exemplo, você pode usá-lo para limpar espaço não utilizado em uma partição com zeros. Isso torna a imagem da partição muito menor se você precisar transferir ou fazer backup de uma partição.
Não precisa ser zero. dd terá prazer em substituir dados bons em sua unidade por dados ruins de diversas maneiras divertidas. Este comando pode ser útil, mas é como tentar consertar um relógio com uma marreta: rápido, eficiente e devastador.
Uma maneira mais moderna de eliminar dados de uma unidade de estado sólido (SSD) é o comando blkdiscard, que é usado para descartar setores do dispositivo, juntamente com quaisquer dados na unidade. Não são apenas comandos antigos como dd, que acabou de completar 50 anos, que podem causar confusão.
3. O proliferador de processos:
:(){ :|:& };:
Eu sei que parece um erro de digitação, mas este comando é a infame bomba bash fork. É um ataque de negação de serviço (DoS) que preencherá a tabela de processos do Linux. Os resultados exatos dependem da configuração do limite do sistema e de quem o está executando, mas muitas vezes isso prejudica o processador e a única maneira de voltar é reinicializando o sistema.
Normalmente, você encontrará alguém tropeçando nesse erro nas aulas de programação enquanto aprende a usar forks. Também vi scripts de shell maliciosos que tinham esse comando oculto dentro deles para ferrar alguém. Antes de executar um script de shell que pareça útil, é uma boa prática lê-lo e executá-lo no asandbox para garantir que não esteja escondendo nada suspeito.
Já vi administradores de sistema crédulos pegando um script potencialmente útil com um comando como:
wget https://ImSureThisIsASafe/GreatScript.sh -O- | sh
Este comando baixa o script e o envia para o shell para execução. Sem confusão, sem confusão, certo? Errado.
Esse script pode estar envenenado com malware. Claro, o Linux é mais seguro que a maioria dos sistemas operacionais por padrão, mas tudo pode acontecer se você executar código desconhecido como root. O perigo não está apenas na maldade; os possíveis erros do autor do roteiro são igualmente prejudiciais. Você pode ser mordido pelo código não depurado de outra pessoa porque não teve tempo para verificá-lo completamente.
4. O pulverizador de permissão:
chmod -R 777 /
Chmod -R 777 / é o comando equivalente a deixar a porta da frente aberta em um bairro com alto índice de criminalidade. Chmod é usado para alterar recursivamente todas as permissões de arquivos e diretórios para dar a todos acesso de leitura, gravação e execução a tudo em seu sistema. É o sonho de um hacker e o pesadelo de um administrador de sistema.
Mais comumente, versões disso são usadas para ajudar um usuário a executar um programa que de outra forma não seria capaz. Pessoal, geralmente há um bom motivo para alguém não ter o direito de executar um programa.
Vejo uma variação desse comando mais abusada em aplicativos em contêineres. Por padrão, os contêineres Docker são executados com privilégios limitados para mitigar riscos e melhorar a segurança. Mas, com muita frequência, programadores preguiçosos constroem contêineres onde o usuário é root. Assim como o comando chmod -R 777, isso significa que tudo é executado como root, o que é apenas um problema de segurança.
5. O formatador de disco:
mkfs.ext4 /dev/sda
Por último, mas não menos importante, temos mkfs.ext4 /dev/sda. Este comando formata qualquer unidade ou partição desejada e cria um novo sistema de arquivos ext4. É como usar um lança-chamas para limpar sua mesa; isso eliminará a desordem, mas você poderá perder algumas coisas importantes no processo.
Claro, às vezes você deseja formatar uma unidade. O problema é que se você apontar o destino, digamos sda2, que contém todos os seus diretórios pessoais, em vez da nova unidade SSD sda3, você apenas zapeou seus arquivos pessoais e os de todos os seus usuários.
O jeito Linux
Lembre-se de que com grande poder vem uma grande responsabilidade. O Linux lhe dá a liberdade de fazer quase qualquer coisa com seu sistema – inclusive destruí-lo acidentalmente. Sempre verifique seus comandos, especialmente ao trabalhar com operações críticas do sistema.
Como jornalista de tecnologia que usa Unix desde a década de 1970 e cobre Linux desde que Linus Torvalds era apenas um estudante universitário finlandês com um projeto de hobby, não consigo enfatizar o suficiente a importância de compreender os comandos que você está usando.
Esses cinco são apenas a ponta do iceberg quando se trata de comandos Linux potencialmente perigosos. Na próxima vez que você ficar tentado a copiar e colar um comando de um fórum on-line incompleto, reserve um momento para pesquisar o que ele realmente faz. Seus dados, seu sistema e sua sanidade agradecerão.