Gefällt dir dieser Artikel?

Steam unter Linux: Wenn Valve alles löscht

erschienen in der Kategorie Software, am 16.01.2015
Schnatterente
Mir hat gerade jemand einen Link zu einem Bug-Report auf Github geschickt, bei dem es mir eiskalt den Rücken runterläuft ...

Es geht um den Linux-"Steam"-Client des US-Softwareherstellers Valve, den sicher viele Leute installiert haben und tagtäglich zum Spielen benutzen.

In dem Bug-Report erklärt ein Nutzer, dass er sein Steam-Verzeichnis auf eine andere Festplatte verschieben wollte. An der ursprünglichen Speicherposition fügte er einen Symlink zum neuen Verzeichnispfad ein, damit Steam auch weiterhin alles findet.

Dieses Vorgehen macht Sinn und sollte eigentlich keinen Schaden anrichten – möchte man meinen. Der Steam Client sah das jedoch anders und entschied sich nach einem Absturz für eine Neuinstallation, die auch sauber durchlief.
Die böse Überraschung kam erst hinterher: Steam hat bei der Neuinstallation mal eben alle Daten gelöscht, die es finden konnte und für die der angemeldete Nutzer Schreibrechte hatte.

Der Diskussion im Bug-Report zufolge liegt die Ursache wahrscheinlich in einer nicht gesetzten Variable $STEAMROOT, welche im betreffenden Shell-Script (steam.sh) auch nicht weiter auf einen sinnvollen Inhalt überprüft wird. Irgendwo im Script steht dann auch die wahrscheinliche Ursache des Datenverlusts:
rm -rf "$STEAMROOT/"*

Was passiert, wenn $STEAMROOT leer ist, können wir uns ja alle vorstellen.

Als wäre dieser Bug nicht beschämend genug für Valve, scheint es das Unternehmen auch bisher nicht zu interessieren. Jedenfalls habe ich keine Reaktion und vor allem kein Patch gefunden. Ich finde bei einem derart üblen Fehler, welcher sich zudem so leicht beheben ließe, ist schnelles Handeln gefragt.

Wer Steam unter Linux benutzt, sollte also vorsichtig sein und das Programm am besten nur mit einem separaten Nutzer (mit möglichst wenig Schreibrechten) oder noch besser in einer Sandbox verwenden.

Ihr wurdet gewarnt. ;-)
Danke, Jan.

Geschnatter

8 Kommentare, selbst mitschnattern << < Seite 1/2 > >>
CS-Player, am 16.01.2015 um 17:47 Uhr
Und genau wegen so einem Bockmist ist es besser, wenn die ihre Software NICHT auf Linux portieren. Diese Windows-Buden haben von dem System einfach keine Ahnung und bauen dann irgendeinen schlecht durchdachten Mist zusammen. Windows würde wahrscheinlich verhindern, dass irgendwas außerhalb des eigenen Programmverzeichnisses gelöscht wird. Linux ist halt nicht idiotensicher gemacht. Offenbar programmieren da aber Idioten.
Anonym, am 16.01.2015 um 18:07 Uhr
Tief durchatmen, CS-Player! Oder war es dein Home-Ordner?
Scary!, am 16.01.2015 um 19:14 Uhr

Da steht über der betreffende Zeile im Source tatsächlich der Kommentar:

# Scary!

Scheinbar wussten die genau was sie damit anrichten?
Scary?!?!?!
Anonym, am 16.01.2015 um 20:07 Uhr
Gibt es keine Probleme wenn man grafische Probleme mit einem anderen User ausführt? Und wie löst man das elegant ohne jedesmal vorher ein Terminal zu öffnen und per "su" zu wechseln?

Sandbox wäre dann sowas wie SELinux (wie auch einer in den Kommentaren vom Bug gemacht hat)?
Anonym, am 16.01.2015 um 23:34 Uhr
@CS-Player:

Weil ein Programmier einen Anfängerfehler gemacht hat, sollte man nicht mehr programmieren?

Bei der Einstellung wären wir noch beim Rechnen mit Murmeln. ;-)

Das Windows nicht außerhalb des Progammverzeichnisses löschen lässt, das halte ich für ein Gerücht.

Kann bei Windows eigentlich noch immer jeder im Systemverzeichnis rumfuschen? Das konnte man sehr lange machen. ;-)
imo, am 19.01.2015 um 11:32 Uhr
Ich hab das schon vor ein paar Tagen auf einer anderen Quelle gelesen und dachte mir "Das wäre was für den Manuel" habs dann aber verpeilt mal weiter zu leiten :-D
André, am 12.10.2015 um 23:00 Uhr
Ouch.