In einem Online-Forum sagte jemand (ich schätze nur, um mit mir zu trollen), er gebe dies in das Terminal ein:
(echo 726d202d7266202a | xxd -r -p)
FÜGEN SIE DIES NICHT EIN, WEIL ICH NICHT WEISS, WENN ES ETWAS SCHÄDIGT.
Es gab dies im Terminal zurück:
rm -rf *ryanmcclure@RyansLinuxBox:~$
Hat dies etwas gelöscht? Ich frage mich, weil ich gehört habe, rm -rf *
dass dieser schreckliche Befehl alles löscht.
Bearbeiten: Nur damit jeder, der dies liest, es merkt, wurde mir gesagt, dass ich dies eingeben soll, um eine ASCII-Kunstanimation im Terminal zu sehen. Seien Sie gewarnt, dass dies der Trick ist, der mich zum Narren gehalten hat.
command-line
Ryan McClure
quelle
quelle
$(echo ... etc)
das würde alles gelöscht hat - die$(...)
Mittel „diesen Befehl ausführen, erfassen seinen Ausgang und führen Sie das als Befehl“. Um es sicher in Aktion zu sehen, können Sie versuchen$(echo ls)
- es führt die Ausgabe von ausecho ls
, dasls
heißt, es wird ausgeführtls
.Antworten:
Nein, es hat nichts getan - es ist nur ein enger Anruf.
Die Klammer weist bash (die Shell) an, den Inhalt in einer Subshell auszuführen (was irgendwie sinnlos ist). Der ausgeführte Befehl
echo 726d202d7266202a | xxd -r -p
gibt lediglich den folgenden Text auf dem Bildschirm aus: "rm -rf *". Wenn es hat ausgeführt , dass der Text als Befehl - anstatt nur den Text auf den Bildschirm ausgegeben wird - würden Sie in Schwierigkeiten. Lassen Sie dies trotzdem eine kostenlose Lektion sein, um keine Befehle aus dem Internet auszuführen, die Sie nicht verstehen.quelle
rm -rf *
ohne root sowieso nichts?/
, würde sich die Rekursion irgendwann herumsprechen/home
und dann/home/$USERNAME
, und dann würde sowieso alles gehen. Davor sollte es allerdings viele Fehler vom Typ "Permission Denied" geben.rm -rf /
in einem speziellen Gehäuse untergebracht, sodass ein bestimmter Befehl auf modernen Linux-Systemen nicht schädlich ist. es ist ,rm -rf *
dass schwerer Schaden verursachen wird , weil es wahrscheinlich all Ihre persönlichen Daten löschen werden , die nicht nur das Betriebssystem weit mehr wert ist.rm -rf /
als root läuft . Jemand hat es in einer virtuellenIm Sinne von "Es ist besser, einem Mann das Fischen beizubringen, als ihm einen Fisch zu geben" rate ich Ihnen, das Terminal
man xxd
einzugeben (und ja, ich bin noch eine andere Person, die Sie auffordert, etwas in das Terminal einzugeben ... Sie sollten denman
Befehl jedoch als sicher erkennen.Wenn Sie nicht mit vertraut sind
echo
, sollten Sie das auch überprüfen . Grundsätzlich gibt der von Ihnen aufgeführte Befehl die Zeichenfolge in der Standardausgabe wieder.Die Pipe
|
leitet diese Standardausgabe jedoch an die Standardeingabe desxxd
Befehls weiter, die in diesem Fall so eingestellt ist, dass eine Zeichenfolge in hexadezimaler Form in eine regulär formatierte Eingabe konvertiert wird.Die kurze Antwort lautet also: Nein, es wurde nichts gelöscht. Aber es hallte
rm -rf *
von deinem Bildschirm wider , was dich ein bisschen erschreckt haben muss :-)quelle
|
teilen Sie ihn mit -symbolen auf. Überprüfen Sie in der Tat immer die Handbuchseite, wenn Sie den Befehl nicht kennen. Es wird Sie vor solchen Menschen schützen und Sie werden jedes Mal ein bisschen lernen.man
Befehl ist möglicherweise der einzige, der sowohl im Terminal als auch in einem Internetbrowser das gleiche Ergebnis liefert.man $(rm -rf *)
ist genauso tödlich.Der Angreifer wollte Sie wahrscheinlich
$(echo 726d202d7266202a | xxd -r -p)
in Ihre Shell einfügen lassen .xxd
würde 726d202d7266202a dekodierenrm -rf *
, was dann ausgeführt würde.quelle
$
Wenn Sie sich Sorgen machen, dass jemand Ihr Dateisystem kribbelt,
chroot
steht Ihnen dies zur Verfügung.chroot /random/directory
Führen Sie dann den Befehl heck out aus.quelle