QNAP Console Management deaktivieren
Manche Softwareupdates bringen tolle neue Features, auf die der Anwender lange gewartet hat, manche Updates nerven hingegen einfach nur ab. Zu letztgenannter Kategorie zählt wohl das “QNAP Console Management”, welches sich beim SSH-Login seit dem QTS 4.5.1-Update standardmäßig in den Vorderdrung drängt. Nicht nur, dass der admin-Nutzer damit genervt wird, schlimmer ist vielmehr, dass Remote-SSH-Befehle nun erstmal nicht mehr funktionieren.
Um die neue Management-Konsole auch nach einem Neustart des QNAP NAS dauerhaft zu unterdrücken, sind einige Schritte notwendig, welche in nachfolgendem Howto erklärt werden.
QNAP Console Management nach dem SSH-Login manuell beenden
Als ich mich vor Kurzem auf meinem heissgeliebten QNAP TVS-1282 (Affiliate-Link) per SSH (ssh admin@NAS-IP) eingeloggt habe, konnte ich meinen Augen erstmal nicht trauen. Statt eines gänzlich schwarzen Konsolenbildschirms, welcher Befehle entgegennimmt, wurde das neue QNAP Konsolen-Management angezeigt:
Warum? Gute Frage. Anscheinend irgendwie ein Sicherheitsfeature, welches mir jedenfalls gestohlen bleiben kann.
Um das nervige Menü manuell zu beenden, muss erstmal ein “Q” eingetippt und mit der Enter-Taste bestätigt werden. Aber das ist noch nicht alles…
Im Anschluss kommt noch die Nachfrage, welche nochmals mit “Y” und Enter verifiziert werden muss:
Wäre ja sonst auch zu einfach…
Verwendete Quellen
Um das Problem dauerhaft zu lösen, muss man vergleichsweise schon etwas tiefer in die Trickkiste greifen und ich musste auch etwas länger googlen, um alle Infos aus den diversen Quellen zusammenzutragen bzw. als N00b erstmal zu verstehen, was überhaupt zu tun ist. Denn das NAS hat bestimmte “Sicherheitsfeatures”, um bspw. bestimmte systemrelevante Dateien beim Reboot neu zu erzeugen, damit sie auch nach einem etwaig versehentlichen Löschen bzw. Modifizieren durch den Benutzer korrekt funktionieren.
Die von mir genutzten Quellen waren dabei:
- QNAP-Wiki: Running Your Own Application at Startup (externer Link)
- maktrothek.de: QNAP Autostart-Skripte selbst anlegen (externer Link)
- github: OneCDOnly/create-autorun (externer Link)
- QNAP-Forum (Login notwendig): QTS 4.5.1 how suppress console management for admin (ssh) (externer Link)
An dieser Stelle allen Quellenerstellern erstmal vielen Dank für die Bereitstellung der Infos, die ich in nachfolgendem Howto nutze!
QNAP Console Management per Autostart-Script dauerhaft deaktivieren
Jetzt kann es auch schon direkt ans Eingemachte gehen. An dieser Stelle der obligatorische Hinweis, dass jeder selbst dafür verantwortlich ist, welche Befehle per SSH ausgeführt werden. Ich übernehme keine Haftung bei Datenverlusten oder sonstigen Beschädigungen. Wer nicht weiss, was er/sie da tut, sollte schlicht die Hände davon lassen, da das NAS im schlimmsten Fall eben crashen kann.
Noch nicht abgeschreckt? Dann los! Erstmal ein spannendes Progrämmchen laden und ausführen, welches ein generelles autorun.sh-Script auf dem NAS im korrekten Verzeichnis erzeugt:
curl -skL https://raw.githubusercontent.com/OneCDOnly/create-autorun/main/create-autorun.sh | bash
Die Ausgabe sieht in meinem Fall dann so aus:
info: NAS model: TVS-1282
info: QTS version: 4.5.1 #20201020
info: default volume: /share/CE_CACHEDEV1_DATA
done: DOM partition found (/dev/sdk6)
done: mounted (ext2) DOM partition at (/tmp/create-autorun.62BBWR)
done: unmounted (ext2) DOM partition
done: (autorun.sh) successfully created!
info: please place your startup scripts into (/share/CE_CACHEDEV1_DATA/.system/autorun/scripts)
Hier ist dann auch praktischerweise angegeben, dass eigene Start-Scripte im Verzeichnis “/share/CE_CACHEDEV1_DATA/.system/autorun/scripts” abgelegt werden sollen. Dieser Pfad kann sich von System zu System unterscheiden. Entsprechend den richtigen Dateipfad bei nachfolgenden Befehlen berücksichtigen.
Erstmal wird eine leere Datei mit dem vi-Editor geöffnet, welchen gleich noch etwas Code erhält:
vi /share/CE_CACHEDEV1_DATA/.system/autorun/scripts/S10_disable-qts-coonsole-mgmt.sh
Um in den Editiermodus zu gelangen einmal “a” drücken und folgenden Code per Copy&Paste einfügen:
mv /sbin/qts-console-mgmt{,.nothanks}
echo '#!/bin/true' >/sbin/qts-console-mgmt
chmod +x /sbin/qts-console-mgmt
Um die Datei im vi-Editor zu speichern, wird erstmal die “ESC”-Taste gedrückt, um den Editormodus zu verlassen. Abschließend dann noch “q:!” (ohne Anführungszeichen) eingetippt und mit Enter bestätigt.
Damit wird das auf dem NAS liegende Script “qts-console-mgmt”, welches für die Anzeige des Konsolen-Management beim ssh-Login verantwortlich ist, verschoben bzw. mit der Ergänzung .nothanks versehen, sodass es nach dem Neutstart des NAS schlicht nicht mehr geladen wird. Weiterhin wird eine neue Dummy-Datei mit entsprechendem Inhalt erzeugt, welche eine ansonsten beim SSH-Login auftretende Fehlermeldung unterdrückt. Et voilà!
Damit das Ganze dann noch ausführbar ist, fehlt nur noch der entsprechende chmod-Befehl:
chmod +x /share/CE_CACHEDEV1_DATA/.system/autorun/scripts/S10_disable-qts-coonsole-mgmt.sh
Alles, was jetzt noch fehlt, ist eine Einstellung im QNAP-Webinterface. Die Lupe anklicken, “hardware” suchen und den gleichlautenden Eintrag “Hardware” anklicken. Dort dann die Option “Benutzerdefinierte Prozesse beim Start ausführen” anhaken und mit dem Button “Übernehmen” bestätigen:
Jetzt das NAS entweder über das Webinterface neustarten oder schlicht mit dem SSH-Befehl “reboot”. Damit sollte das “QNAP Console Management” endgültig Geschichte sein.
Wer es dennoch manuell starten möchte, kann dies auch weiterhin mit folgendem SSH-Befehl tun:
/sbin/qts-console-mgmt.nothanks -f
Aus meinem täglichen Leben
Es ist wirklich cool, wenn durch Updates nützliche Funktionen hinzukommen, die dem Anwender weiterhelfen. Im vorliegenden Fall fand ich es hingegen mehr als nervig, dass es nichtmal die Option zur einfachen Deaktivierung über das Webinterface gibt. Dem Anwender einfach ein neues Interface unterzujubeln, welches er nicht möchte, ist schon etwas ätzend. Und das sogar bei den eher hochpreisigen NAS-Modellen, wie dem QNAP TVS-1282 (Affiliate-Link).
QNAP hat sicher seine Gründe, warum dieser Schritt vollzogen wurde, mich interessiert das aber herzlich wenig, da ich dem NAS weiterhin ssh-Befehle von externen Systemen (z.B. nodeRED) zuschieben möchte, um mein QNAP bzw. remote herunterzufahren oder Anwendungen zu starten bzw. zu stoppen. Und das ist eben nur dann möglich, wenn sich das Remote-System per ssh mit dem admin-User einloggen und direkt Befehle absetzen kann – ohne vorgeschobenes Management-Interface. Aber irgendwie kommt man ja doch immer ans Ziel, auch wenn die Lösung am Ende vergleichsweise aufwändig ist.
7 Kommentare
Hey Jörg,
da steht man vor dem gleichen Problem und wen spuckt Google aus… Dich 😉
Das Internet ist wohl kein.
Herzlichen Dank für die wunderbare Anleitung!
Auf dass sich die QNAP nun wieder via Loxone ausschalten lässt.
Viele Grüße
Stef
Hehe,
schön zu sehen, dass noch Menschen wie mich mit ähnlichen “Problemen” gibt… 😂🥳
PS: Und ja, die Welt ist kleiner als man denkt.
Hallo,
warum nicht einfach
sed -i ‘/qts-console-mgmt/d’ /etc/profile
via autorun ausführen?
Hi Basti,
viele Wege führen nach Rom… Hast du das so bei dir im Einsatz – dann wäre das natürlich eine einfachere Alternative.
Viele Grüße
Jörg
ja
Oder in der GUI unter Systemsteuerung->Allgemeine Einstellungen->Console Management die Tickbox rausnehmen.
Erst ab Version 5.x gibt es die grafische Abschaltung dieser Console. Wer noch eine ältere Version fährt (so wie ich) muss es auf die o.g. Weise machen.
….Und es funktioniert.
Danke schön.