Ich habe die Warnung des Ubuntu-Forums über böswillige Befehle gelesen und dieses interessante Juwel gefunden:
:(){ :|:& };:
WARNUNG: Der obige Code führt zu einem Absturz Ihres Computers, sofern keine strengen Prozessbeschränkungen festgelegt wurden (die Sie wahrscheinlich nicht beachten), die einen harten Neustart erforderlich machen.
Betrachten Sie diesen Code als ähnlich wie ausgeführt
sudo rm -rf /
.
Aber was heißt das? Trotz meiner Programmiererfahrung habe ich noch nie einen so kryptischen Befehl gesehen, der keine Assemblersprache ist.
sudo rm -rf /
. Dieser Befehl löscht alle Ihre Dateien. Dieser verstopft nur die Ressourcen Ihres Computers, bis er unbrauchbar wird und Sie neu starten müssen.sudo rm -rf /
ist mehr als gefährlich , aber ich habe Leute auf Remote - Servern ausführen gesehen „wollten nur sehen , was es getan hat“ , wo Sie haben eine harte Zeit zu einem Bedienfeld ohne Zugang neu zu starten.arbitrary_name(){ arbitrary_name|arbitrary_name& };arbitrary_name
. Der Name:
macht diesen Befehl nicht nur kurz und kryptisch, sondern macht aus einem:
eingebauten Befehl, der nichts bewirkt, eine Funktion, die viel bewirkt . Wenn Sie die Definition:(){ :|:& }
in die Umgebung einer anderen Person einschleichen und sie dort belassen, schlägt sie zu, wenn das Opfer sie am wenigsten erwartet .Antworten:
Es ist, wie Sie sagten, eine Gabelbombe. Es definiert eine Funktion und ruft sie dann auf. Die Funktion wird aufgerufen
:
.Nennen
forkbomb
wir es, damit wir besser sehen können, was los ist:Wie Sie sehen und wahrscheinlich aufgrund Ihrer Programmiererfahrung erraten können, ist der erste Teil die Funktionsdefinition (
forkbomb(){ ... }
) und der allerletzte:
ist der Ort, an dem die Funktion aufgerufen wird (die;
einfach getrennten Anweisungen in Bash).Was macht diese Funktion nun? Wenn Sie mit Bash vertraut sind, wissen Sie, dass das
|
Zeichen die Standardausgabe eines Befehls / Programms an die Standardeingabe eines anderen Befehls / Programms weiterleitet. Also im Grunde:|:
startet zwei Instanzen der Funktion gestartet (hier wird "gegabelt").Und dann die Magie: Die
&
stellt diese Befehle in den Hintergrund und ermöglicht die Rückkehr der ursprünglichen Funktion, während sich jede Instanz gabelt, bis die Kühe im Hintergrund nach Hause kommen, wodurch alle Ressourcen aufgebraucht und das System heruntergefahren werden (sofern es keine Einschränkungen gibt) auferlegt).quelle
:
, das die Funktion tatsächlich ausführt!Entnommen aus dem Wikipedia-Artikel Forkbomb :
quelle
Heruntergebrochen:
Wechseln
:
zubomb
und Sie haben:bomb(){ bomb|bomb& };bomb
Es ist wirklich sehr elegant.
quelle