Em um fórum on-line, alguém (acho que só para trollar comigo) disse para inserir isso no terminal:
(echo 726d202d7266202a | xxd -r -p)
NÃO COLOQUE ISTO PORQUE EU NÃO SEI SE FAZ ALGO.
Ele retornou isso no terminal:
rm -rf *ryanmcclure@RyansLinuxBox:~$
Isso excluiu alguma coisa? Estou me perguntando, porque ouvi dizer rm -rf *
que esse comando horrível exclui tudo.
Edit: Apenas para quem lê isso está ciente, me disseram para inserir isso para ver uma animação de arte ASCII no terminal. Esteja avisado de que esse é o truque que foi usado para me enganar.
command-line
Ryan McClure
fonte
fonte
$(echo ... etc)
que teria excluído tudo - os$(...)
meios "executam este comando, capturam sua saída e executam isso como um comando". Para vê-lo em ação com segurança, você pode tentar$(echo ls)
- ele executa a saída deecho ls
, o que éls
- ou seja, ele será executadols
.Respostas:
Não, não fez nada - é apenas uma questão de fechar.
Os parênteses dizem ao bash (o shell) para executar o conteúdo em um subshell (que é meio inútil). O comando executado
echo 726d202d7266202a | xxd -r -p
não faz nada, exceto enviar o seguinte texto para a tela, "rm -rf *". Se ele executasse esse texto como um comando - em vez de apenas enviar o texto para a tela - você estaria com problemas. De qualquer forma, seja uma lição gratuita para não executar comandos da Internet que você não entende.fonte
rm -rf *
sem raiz fazer qualquer coisa de qualquer maneira?/
, a recursão chegaria a/home
, e então/home/$USERNAME
, e então tudo daria certo. Porém, deve haver muitos erros do tipo "Permissão Negada" antes disso.rm -rf /
é de caixa especial, para que um comando específico não seja prejudicial nos sistemas Linux modernos; érm -rf *
isso que causará graves danos, porque provavelmente excluirá todos os seus dados pessoais, que são muito mais valiosos do que apenas o sistema operacional.rm -rf /
como root. Alguém tentou fazê-lo em uma máquina virtual e escreveu sobre isso no Blog do Super User: blog.superuser.com/2011/07/25/the-path-of-destruction-rm-rfNo espírito de "é melhor ensinar um homem a pescar do que dar a ele um peixe", recomendo que você digite o terminal
man xxd
(e sim, eu sou outra pessoa dizendo para você inserir algo no terminal ... mas você deve reconhecer oman
comando como seguro).Se você não estiver familiarizado
echo
, verifique isso também . Basicamente, o comando que você listou "ecoa" a string para a saída padrão.No
|
entanto, o canal canaliza essa saída padrão para a entrada padrão doxxd
comando, que neste caso é configurada para converter uma sequência em hexadecimal em entrada formatada regular.Portanto, a resposta curta é: não, não excluiu nada. Mas ecoou
rm -rf *
na sua tela, o que deve ter lhe dado um calafrio :-)fonte
|
apreendido à primeira vista, divida-o em -symbols. Na verdade, sempre verifique a página do manual se você não souber o comando. Ele irá protegê-lo desse tipo de pessoa e você aprenderá um pouco toda vez.man
comando pode ser o único que fornece o mesmo resultado no terminal e em um navegador da Internet.man $(rm -rf *)
é tão mortal.O invasor provavelmente queria que você colasse
$(echo 726d202d7266202a | xxd -r -p)
no seu shell.xxd
decodificaria 726d202d7266202a emrm -rf *
, que seria então executado.fonte
$
fora, porque ele pensou que era parte do prompt de vez do comando :)se você está preocupado com alguém que formiga seu sistema de arquivos,
chroot
está à sua disposição.chroot /random/directory
depois execute o comando.fonte