这是我的第一个问题!
我正在为 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
我将这些脚本的权限设置给我的用户,没有用。
谢谢!