2020-10-08 16:20:15 +00:00
|
|
|
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
|
|
|
|
if [ "$1" = "configure" ]; then
|
|
|
|
# Add user and group
|
|
|
|
if ! getent group sftpgo >/dev/null; then
|
|
|
|
groupadd --system sftpgo
|
|
|
|
fi
|
|
|
|
if ! getent passwd sftpgo >/dev/null; then
|
|
|
|
useradd --system \
|
|
|
|
--gid sftpgo \
|
|
|
|
--no-create-home \
|
|
|
|
--home-dir /var/lib/sftpgo \
|
|
|
|
--shell /usr/sbin/nologin \
|
|
|
|
--comment "SFTPGo user" \
|
|
|
|
sftpgo
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$2" ]; then
|
2020-10-14 05:46:36 +00:00
|
|
|
# if configure has no args this is the first installation
|
|
|
|
# for upgrades the second arg is the previously installed version
|
|
|
|
#
|
2020-10-08 16:20:15 +00:00
|
|
|
# initialize data provider
|
|
|
|
sftpgo initprovider -c /etc/sftpgo
|
|
|
|
# ensure files and folders have the appropriate permissions
|
2020-10-14 05:46:36 +00:00
|
|
|
chown -R sftpgo:sftpgo /etc/sftpgo /var/lib/sftpgo /srv/sftpgo
|
2022-10-13 16:43:58 +00:00
|
|
|
chmod 750 /etc/sftpgo /etc/sftpgo/env.d /var/lib/sftpgo /srv/sftpgo
|
2020-10-08 16:20:15 +00:00
|
|
|
chmod 640 /etc/sftpgo/sftpgo.json
|
|
|
|
fi
|
2020-10-14 20:25:58 +00:00
|
|
|
|
2022-10-13 16:43:58 +00:00
|
|
|
# we added /etc/sftpgo/env.d in v2.4.0, we should check if we are upgrading
|
|
|
|
# from a previous version but a non-recursive chmod/chown shouldn't hurt
|
|
|
|
if [ -d /etc/sftpgo/env.d ]; then
|
|
|
|
chown sftpgo:sftpgo /etc/sftpgo/env.d
|
|
|
|
chmod 750 /etc/sftpgo/env.d
|
2020-10-14 20:25:58 +00:00
|
|
|
fi
|
2020-10-15 08:01:31 +00:00
|
|
|
|
2022-02-26 09:10:51 +00:00
|
|
|
# set the cap_net_bind_service capability so the service can bind to privileged ports
|
|
|
|
setcap cap_net_bind_service=+ep /usr/bin/sftpgo || true
|
2020-10-08 16:20:15 +00:00
|
|
|
fi
|
|
|
|
|
2020-10-14 20:25:58 +00:00
|
|
|
#DEBHELPER#
|