我想在我的ModBus服务器流程中使用端口502,但是,如果我运行" sudo node-red-start"
,我只能这样做我将它设置为使用" sudo systemctl enable nodered.service"作为服务运行。 但是,这似乎只是作为普通用户执行。
由于
答案 0 :(得分:1)
使用systemctl
运行sudo
与生成服务的用户无关。这是在服务文件中定义的。
您需要修改nodered.service
个文件并更新User
和Group
设置。
...
[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>