Closed hobbyquaker closed 6 years ago
Da das rmupdate addon die Addon-Archive vollkommen unabhängig des WebUI eigenen Mechanismus installiert und dafür auch keine chroot Umgebung verwendet bewegt es sich IMHO auf teilweise gefährlichen Wegen.
Was das Problem hier angeht, so sollte das tar Archiv an folgender stelle
https://github.com/j-a-n/raspberrymatic-addon-rmupdate/blob/master/addon/lib/rmupdate.tcl#L1640
nicht nur einfach ausgepackt werden sondern es muss sichergestellt werden da immer root:root der Besitzer der Dateien ist. Am besten einfach hier die Option --no-same-owner
hinzufügen damit die Dateien dann auch root
gehört.
Ich habe die vorgeschlagene Änderung in die Version 1.12.3 aufgenommen. Ein Sicherheitsgewinn durch ein chroot sehe ich jedoch nicht, da die Addons und deren Init-Skripte sowieso unter root-Rechten laufen.
@j-a-n Ich würde dir raten bzgl. des tar Aufrufes folgendes Konstrukt zu verwenden:
D.h. neben --no-same-owner
auch noch --no-same-permissions
und die verwendung von lediglich -xf
OHNE -z
option (dies erlaubt dann prinzipiell in Zukunft auch addons als .tar.bz2
oder ähnliches anzubieten da so tar automatisch das Archivformat herausfindet und entsprechend entpackt.
Was die Verwendung von chroot
für die Installation der Addons angeht, so sehe ich da in der Tat zumindest einen kleinen Sicherheitsgewinn, da somit verhindert wird das Addons Schabernack im restlichen filesystem vornehmen (auch wenn dies nicht ganz verhindert werden kann).
Was spricht denn eigentlich dagegen das du direkt das /bin/install_addon
verwendest bzw. vom rmupdate aufrufst und damit dann automatisch den chroot-Mechanismus nutzt? IMHO sollte rmupdate statt selbst die addons zu installieren einfach /bin/install_addon
verwenden.
Hallo, hast Du ne Ahnung wie es dazu https://github.com/hobbyquaker/RedMatic/issues/16 kommt? Ein User mit der id 2000 existiert ja garnicht, macht Dein Addon eine Addon-Installation irgendwie anders als der "normale" Weg über das CCU WebUI? Ist das was was Du fixen kannst oder sollte ich in RedMatic einfach noch ein chown root:root ins install-script packen?