41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/bin/bash
|
|
echo "---Ensuring UID: $UID matches user---"
|
|
usermod -u $UID $USER
|
|
echo "---Ensuring GID: $GID matches user---"
|
|
groupmod -g $GID $USER > /dev/null 2>&1 ||:
|
|
usermod -g $GID $USER
|
|
echo "---Setting umask to $UMASK---"
|
|
umask $UMASK
|
|
|
|
echo "---Checking for optional scripts---"
|
|
cp -f /opt/custom/user.sh /opt/scripts/start-user.sh > /dev/null 2>&1 ||:
|
|
cp -f /opt/scripts/user.sh /opt/scripts/start-user.sh > /dev/null 2>&1 ||:
|
|
|
|
if [ -f /opt/scripts/start-user.sh ]; then
|
|
echo "---Found optional script, executing---"
|
|
chmod -f +x /opt/scripts/start-user.sh ||:
|
|
/opt/scripts/start-user.sh || echo "---Optional Script has thrown an Error---"
|
|
else
|
|
echo "---No optional script found, continuing---"
|
|
fi
|
|
|
|
echo "---Taking ownership of data...---"
|
|
chown -R root:$GID /opt/scripts
|
|
chmod -R 750 /opt/scripts
|
|
chown -R $UID:$GID $DATA_DIR
|
|
|
|
echo "---Starting...---"
|
|
term_handler() {
|
|
kill -SIGTERM "$killpid"
|
|
wait "$killpid" -f 2>/dev/null
|
|
exit 143;
|
|
}
|
|
|
|
trap 'kill ${!}; term_handler' SIGTERM
|
|
su $USER -c "/opt/scripts/start-server.sh" &
|
|
killpid="$!"
|
|
while true
|
|
do
|
|
wait $killpid
|
|
exit 0;
|
|
done |