Browse Source

start_service.sh: Apparently sudo doesn't quit - and stays as a wrapper process.Solve this by disowning after sudo & avoid showing the password in the sudo process arguments by preserving the environment when sudoing.

master
Starbeamrainbowlabs 4 years ago
parent
commit
97a6d95902
Signed by: sbrl
GPG Key ID: 1BE5172E637709C2
  1. 2
      rhinoreminds.service
  2. 9
      start_service.sh

2
rhinoreminds.service

@ -9,7 +9,7 @@ StartLimitBurst=5 @@ -9,7 +9,7 @@ StartLimitBurst=5
[Service]
Type=forking
PIDFile=/run/rhinoreminds.pid
PIDFile=/run/rhinoreminds/rhinoreminds.pid
# We change our own user
User=root
WorkingDirectory=/srv/kraggwapple

9
start_service.sh

@ -6,7 +6,10 @@ source .xmpp_credentials; @@ -6,7 +6,10 @@ source .xmpp_credentials;
# Execute & disown
# We pass the environment variables explicitly here, as then we don't accidentally pass something private.
# Better to be safe than sorry - defence in depth!
sudo -u username_here XMPP_JID="${XMPP_JID}" XMPP_PASSWORD="${XMPP_PASSWORD}" /usr/bin/mono RhinoReminds.exe --domain starbeamrainbowlabs.com
echo "$!" >/run/rhinoreminds.pid;
disown;
export XMPP_JID;
export XMPP_PASSWORD;
# Create the pidfile directory
mkdir /run/rhinoreminds; chmod 0700 /run/rhinoreminds; chown rhinoreminds:rhinoreminds /run/rhinoreminds;
sudo -E -u rhinoreminds bash -c '/usr/bin/mono ../bin/RhinoReminds.exe --domain starbeamrainbowlabs.com --avatar avatar.png & echo "$!" >/run/rhinoreminds/rhinoreminds.pid; disown'

Loading…
Cancel
Save