#linux #service #ufw
Вопрос:
Это мой первый вопрос здесь!
Я настраиваю службу на сервере Nodejs и хочу открывать и закрывать соответствующий порт по мере его запуска и остановки.
Моя идея:
ExecStartPre=<ufwrule-allow.sh>
...
ExecStopPost=<ufwrule-delete.sh>
Но команда ufw принадлежит корню, а моя служба 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
Я установил разрешения на эти сценарии для своего пользователя, не сработало.
Спасибо!