0

这是我的第一个问题!

我正在为 Nodejs 服务器设置一个服务,我想在它启动和停止时打开和关闭相应的端口。

我的想法:

ExecStartPre=<ufwrule-allow.sh>
...
ExecStopPost=<ufwrule-delete.sh>

但是 ufw 命令属于 root,我的 Nodejs 服务属于我的用户。我可以评论#User=<user>和使用它ExecStartPre=/usr/sbin/ufw allow <app>ExecStopPost但是,以 root 身份执行用户制作的服务并不安全!

[Unit]
Description=""

[Service]
User=<user>
Type=simple
ExecStartPre=/etc/mynodejs/ufwrule-allow.sh
ExecStart=<command>
ExecStop=/bin/kill -s STOP $MAINPID
ExecStopPost=/etc/mynodejs/ufwrule-delete.sh
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target

我将这些脚本的权限设置给我的用户,没有用。

谢谢!

4

0 回答 0