2017-11-14 1 views
0

würde ich den Port 502 für meinen ModBus Server Fluss verwenden mag, jedoch kann ich dies nur tun, wenn ich „sudo Knoten-rot-start“ laufeRun Knoten Rot als SU beim Booten

Ich habe es auf Als Dienst ausführen mit "sudo systemctl enable nedered.service" Dies scheint jedoch nur als normaler Benutzer auszuführen.

Dank

Antwort

1

Lauf systemctl mit sudo hat keinen Einfluss auf welcher Benutzer die resultierende Dienst als ausgeführt wird. Dies ist in der Servicedatei definiert.

Sie müssen die Datei nodered.service bearbeiten und die Einstellungen User und Group aktualisieren.

... 
[Service] 
Type=simple 
# Run as normal pi user - feel free to change... 
User=pi 
Group=pi 
WorkingDirectory=/home/pi 
... 

Diese Datei in /lib/systemd/system/nodered.service befinden sollte.

0

Es gibt einen anderen Weg zu dem, den @knolleary vorgeschlagen hat, nämlich dem pi-Benutzer, niedrige Ports zu öffnen. Dies kann mit dem folgenden Befehl durchgeführt werden:

sudo setcap 'cap_net_bind_service=+ep' `which node` 

Dies wird dem Knoten binäre binden an Ports niedriger als 1024 wie jeder Benutzer ermöglichen.

Beachten Sie, dass dies ein Sicherheitsproblem sein könnte, wie es jede Benutzer ermöglicht NodeJS App ausführen, die dann so tun, kann ein System-Dienst (zum Beispiel SSH)

zu sein