Der Befehl
führt das Script
camera.sh unter dem Kontext des Users
openhab aus. Das erfragte Passwort ist aber
nicht das vom User
openhab, sondern das Passwort des
angemeldeten Users (also z.B.
openhabian).
sudo -> SuperUser Do. Genau wie
su (womit man sich eine shell in einem anderen Userkontext aufrufen kann) kann der Befehl nicht nur dazu verwendet werden, mit
root-Rechten zu arbeiten, sondern man kann als ein beliebiger anderer User auftreten.
Voraussetzung ist natürlich, dass der angemeldete User berechtigt ist,
sudo auszuführen und weiterhin berechtigt ist, in dem aufgerufenen Kontext zu arbeiten (das kann man nämlich einschränken).
Gewöhnlich hat ein User entweder volle Rechte oder gar keine, um sudo auszuführen.
habopen ist im Übrigen
nicht das Passwort des Users
openhab in der normalen Shell!
Vielmehr ist dies das default Passwort, mit dem man sich als
openHAB User openhab an der
Karaf Konsole anmeldet.
Für den User openhab ist im Betriebssystem kein Passwort hinterlegt. Es ist auch keine Shell eingetragen. Beides führt dazu, dass man sich normalerweise nicht als User openhab an der GNU/Linux Shell anmelden kann (es gibt natürlich Umwege, das dennoch zu erreichen).
Wenn sich das Script nicht erfolgreich im Kontext des Shell Users openhab ausführen lässt, hängt dies mit fehlenden Rechten zusammen. z.B. kann ein Pfad zum Speichern genutzt werden, den der User openhab nicht beschreiben darf. Oder das Programm benötigt Zugriff auf eine Ressource, die dem User openhab nicht zur Verfügung steht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet