Kann ich.
Da die Bridge unter dem user "homebridge" läuft,
Ich nehme an, du hast die Homebridge nach der Forenanleitung installiert. Die Installation dort ist viel restriktiver als normale Installationen, und daher ist dem User homebridge nicht erlaubt, auf irgendwelche Befehle sudo anzuwenden (bis auf vier Kommandos). Festgelegt ist das in /etc/sudoers.d/homebridge.
Du hast in deinem Skript alles richtig gemacht, wenn auch umständlich. Es würde auch einfach so gehen:
und ich würde es sogar so machen:
aber der User homebridge darf kein sudo auf bash machen. Das ist gut, denn es erhöht die Sicherheit des Systems, aber es ist schlecht, weil es deinen Fehler erzeugt. Ich habe herumexperimentiert, ob man darauf verzichten kann, dem User homebridge die sudo-Rechte auf bash zu geben, aber man muss das leider tun. Doof, doof, doof. Sei's drum.
Mache also folgendes:
sudo visudo -f /etc/sudoers.d/homebridge
und hänge an die Zeile ganz hinten an: /bin/bash
so dass sie so aussieht:
homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/local/bin/node, /bin/bash
Speichere sie ab und versuche es noch einmal.
Stefan