Shell-Skript: Steam löscht sämtliche Nutzerdaten unter Linux
Unter bestimmten Umständen löscht Steam unter Linux sämtliche Dateien eines Nutzers. Der Fehler wird in einem Shell-Skript vermutet, worüber sich einige Kommentare bereits lustig machen.

Ein Ubuntu-Nutzer berichtet, dass nach dem Verschieben seines Steam-Datenordners und einer anschließenden Verknüpfung zur ursprünglichen Position Steam zunächst abgestürzt sei. Nach einem Neustart habe zwar alles wie gewünscht funktioniert, jedoch seien sämtliche Dateien in der gesamten Verzeichnisstruktur der Linux-Distribution gelöscht worden. Das habe den persönlichen Ordner ebenso betroffen wie die Dateien auf der angeschlossenen 3 TByte großen externen Festplatte.
Der schwerwiegende Fehler wird von anderen Nutzern bestätigt oder von Anwendern, die ihre Dateien ebenfalls verschoben haben, teilweise verängstigt kommentiert. Der Grund für das Löschen der Dateien scheint in einem fehlerhaften Shell-Skript zu liegen. Demnach enthält es die Zeile rm -rf "$STEAMROOT/"*, die mit dem Kommentar # Scary! versehen sein soll.
Eigentlich sollten damit nur diejenigen Dateien gelöscht werden, die sich innerhalb des von Steam angelegten Ordners befinden. Ist die Variable STEAMROOT beim Ausführen des Skripts aber nicht mit einem Wert versehen, wird stattdessen wohl rm -rf "/"* ausgeführt. Entsprechend werden sämtliche Daten auf dem System gelöscht, für die der Nutzer die Rechte besitzt.
Auf Github wird bereits diskutiert, wie der Fehler behoben werden kann und welche Programmierpraktiken in dem Skript vermieden werden sollten. Ebenso wird in einer auf Github verfügbaren privaten Kopie des Codes die konkrete Zeile mit verschiedenen Memes bedacht, darunter auch der berühmte Facepalm der Figur Jean-Luc Picard aus Star Trek. Darüber hinaus wird in der Diskussion darauf hingewiesen, dass Steam auch unter Windows bei der Deinstallation unter Umständen Dateien löscht, die nicht zu Steam gehören.
Valve hat inzwischen Kenntnis von dem Fehler und möchte neben einer unmittelbaren Absicherung der Zeile mit dem Befehl zum Löschen auch nach der eigentlichen Ursache für das Auftreten des Fehlers suchen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Mit AppArmor hätte Ubuntu ja genau soetwas ja.
Ist nicht genau um solche dinge zu vermeiden AppArmor da? Ich verstehe nicht wie Ubuntu...
was lernen wir daraus? erstmal artikel lesen.
Ich hab jetzt 10 Minuten versucht die Logik in diesem Posting zu finden.