Linux-Nutzer scheinen von einer schweren Update-Panne betroffen zu sein. Ein Bug im Node Package Manager (npm) verändert den Besitzer der Verzeichnisse wie /etc, /usr, /boot. Das führt zu argen Problemen und es hilft wohl nur eine Neuinstallation des Systems.
Anzeige
Der Node Package Manager (npm) ist der am häufigsten verwendete JavaScript Package Manager. Im Moment scheint das Problem wohl nur Entwickler für Linux und Software-Spezies, die neue Versionen testen, zu treffen. Auf Twitter gibt es entsprechende Meldungen wie hier.
Dear god… bug in npm changes permissions on / file system destroys productions linux or unix boxes. "sudo npm" will chown "/". https://t.co/94j5uRNTaf
— nixCraft: The Best Linux Blog In the Unixverse (@nixcraft) 22. Februar 2018
Und hier.
"if I run sudo npm –help …my filesystem [changes] ownership of directories such as /etc, /usr, /boot"
Going to be a long day for a lot of Ops folk today.— Kenn White (@kennwhite) 22. Februar 2018
Anzeige
Der Bug ist wohl bereits auf GitHub beschrieben. Dieses Problem tritt seit der Veröffentlichung von npm 5.7.0 auf (seit einigen Stunden verfügbar). Der Bug-Reporter schreibt, dass seine Dateisystemberechtigungen komplett gebrochen zu sein scheinen. Er hat dann die Berechtigungen kritischer Dateien und Ordner manuell korrigieret. Der Bug-Reporter glaubt, dass es mit dem Commit 94227e1 zusammenhängt, der Chown auf den falschen, oft kritischen Dateien und Ordnern des Dateisystems durchläuft und ausführt.
FreeBSD-Benutzer haben ebenfalls berichtet, dass sie von dem Fehler betroffen sind, wie Bleeping Computer hier schreibt. Mac- und Windows-Benutzer (z.B. mit Windows Subsystem for Linux) hatten keine Probleme, und es betraf auch nicht jeden Linux-Benutzer. Software-Entwickler Jared Tiala schreibt: Wird der Befehl sudo npm unter einem nicht root Benutzer ausgeführt, werden die Dateisystemberechtigungen (Filesystem Permissions) kräftig (in der Version v5.7.0) modifiziert. Auch Befehle wie:
sudo npm –help
sudo npm update -g
scheinen die Dateisystemberechtigungen zu modifizieren. Dabei werden diese rekursiv, ausgehend vom aktuellen User, der den Befehl mit sudo aufgerufen hat, geändert werden. Einige Nutzer waren gezwungen, das System neu aufzusetzen, um aus der Bredouille zu kommen. Das npm Team hat npm v5.7.1 freigegeben, welches den Bug nicht mehr enthält.
Anzeige
Shit happens. Wenn man als Entwickler kein Backup erstellt und vorhält, bevor man kritische Software aktualisiert (und alles, was "sudo" braucht, IST kritisch), der ist selbst schuld.
Auch in der Linuxwelt müssen die Entwickler aufpassen. Wer zu häufig Mist abliefert, versaut sich den Ruf. Fehlerfrei arbeitet aber keiner.
Gut ist das Konzept, dass von "Neuester Schei…." bis "wirklich getestet und seit langem für stabil befunden" reicht. So wird jeder angesprochen und der Entwickler der immer das Neueste haben will kennt die Risiken sowieso.
Linux – Normalverbraucher arbeitet aber wohl eher mit DEB (Debian/Ubuntu/Mint…) und nicht so häufig mit RPM (Fedora,/oensuse…). Für die Firma Redhat ist es auch weniger gefährlich, weil die mit Fedora immer rpm-Insider im Testfeld haben, bevor es wirklich ernst wird.