在启动时将节点红色运行为SU

时间:2017-11-14 13:48:46

标签: node-red

我想在我的ModBus服务器流程中使用端口502,但是,如果我运行" sudo node-red-start"

,我只能这样做

我将它设置为使用" sudo systemctl enable nodered.service"作为服务运行。 但是,这似乎只是作为普通用户执行。

由于

2 个答案:

答案 0 :(得分:1)

使用systemctl运行sudo与生成服务的用户无关。这是在服务文件中定义的。

您需要修改nodered.service个文件并更新UserGroup设置。

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

该文件应位于/lib/systemd/system/nodered.service

答案 1 :(得分:0)

@ knolleary提出了另一种方法,即允许pi用户打开低端口。这可以通过运行以下命令来完成:

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

这将允许节点二进制绑定到低于1024的端口作为任何用户。

请注意,这可能是一个安全问题,因为它将允许 任何 用户运行NodeJS应用程序,然后可以伪装成系统服务(例如SSH)< / p>