Sur un forum en ligne, quelqu'un (je suppose juste pour troll avec moi) a dit d'entrer ceci dans le terminal:
(echo 726d202d7266202a | xxd -r -p)
NE METTEZ PAS CELA DANS CE PARCE QUE JE NE SAIS PAS SI CELA EST NULLE.
Il est retourné ceci en terminal:
rm -rf *ryanmcclure@RyansLinuxBox:~$
Cela a-t-il supprimé quelque chose? Je me demande parce que j'ai entendu parler de rm -rf *
cette horrible commande qui supprime tout.
Edit: Juste pour que tous ceux qui lisent ceci soient au courant, on m'a dit de le saisir pour voir une animation artistique ASCII dans le terminal. Soyez averti que c'est le truc qui a été utilisé pour me tromper.
command-line
Ryan McClure
la source
la source
$(echo ... etc)
qui aurait tout supprimé - les$(...)
moyens "exécuter cette commande, capturer sa sortie et l'exécuter en tant que commande". Pour le voir en action en toute sécurité, vous pouvez essayer$(echo ls)
- il exécute la sortie deecho ls
qui estls
- c'est-à-dire qu'il s'exécuterals
.Réponses:
Non, il n'a rien fait - c'est juste un appel proche.
Les parenthèses disent à bash (le shell) d’exécuter le contenu dans un sous-shell (ce qui est inutile). La commande exécutée
echo 726d202d7266202a | xxd -r -p
ne fait rien sauf afficher le texte suivant à l'écran, «rm -rf *». S'il avait exécuté ce texte en tant que commande - au lieu de simplement afficher le texte à l'écran - vous auriez des problèmes. Quoi qu’il en soit, qu’il s’agisse d’une leçon gratuite de ne pas exécuter de commandes Internet incompréhensibles.la source
rm -rf *
sans racine fait quoi que ce soit?/
, la récursion finirait par se déplacer à/home
, puis/home/$USERNAME
, et puis il avait tous aller de toute façon. Cependant, il devrait y avoir beaucoup d'erreurs de type "Autorisation refusée" avant cela.rm -rf /
fait, son boîtier est spécial afin que cette commande ne soit pas nuisible sur les systèmes Linux modernes; c'estrm -rf *
ce qui causera un préjudice grave car il supprimera probablement toutes vos données personnelles, ce qui est bien plus précieux que le système d'exploitation.rm -rf /
tant que root. Quelqu'un l'a essayé dans une machine virtuelle et a écrit à ce sujet sur le blog du super utilisateur: blog.superuser.com/2011/07/25/the-path-of-destruction-rm-rfDans l'esprit de "il vaut mieux apprendre à un homme à pêcher qu'à lui donner un poisson", je vous conseille de taper le terminal
man xxd
(et oui, je suis encore une autre personne qui vous dit de saisir quelque chose dans le terminal ... mais vous devez reconnaître que laman
commande est sûre).Si vous n'êtes pas familier avec
echo
, vous devriez vérifier cela aussi . En gros, la commande que vous avez listée "renvoie" la chaîne à la sortie standard.Le canal
|
canalise toutefois cette sortie standard dans l'entrée standard de laxxd
commande, qui dans ce cas est configurée pour convertir une chaîne au format hexadécimal en entrée de format régulier.Donc, la réponse courte est: non, cela n'a rien effacé. Mais cela a fait écho
rm -rf *
à votre écran, qui a dû vous donner un peu de froid :-)la source
|
aide de symboles. En effet, vérifiez toujours la page de manuel si vous ne connaissez pas la commande. Cela vous protégera de ce genre de personnes et vous en apprendrez un peu à chaque fois.man
commande peut être la seule qui donne le même résultat à la fois dans le terminal et dans un navigateur Internet.man $(rm -rf *)
est aussi mortel.L’attaquant voulait probablement vous coller
$(echo 726d202d7266202a | xxd -r -p)
dans votre shell.xxd
décoderait 726d202d7266202a enrm -rf *
, qui serait ensuite exécuté.la source
$
sortir parce qu'il pensait que cela faisait partie de l'invite au lieu de la commande :)si vous craignez que quelqu'un ne plonge votre système de fichiers, il
chroot
est à votre disposition.chroot /random/directory
puis exécutez le diable la commande.la source