Debian: metaproxy running as user "metaproxy"
[metaproxy-moved-to-github.git] / debian / metaproxy.postinst
1 #!/bin/sh
2
3 set -e
4
5 case "$1" in
6     configure)
7     [ -f /etc/default/metaproxy ] && . /etc/default/metaproxy
8
9     [ -z "$SERVER_HOME" ] && SERVER_HOME=/var/metaproxy
10     [ -z "$SERVER_USER" ] && SERVER_USER=metaproxy
11     [ -z "$SERVER_NAME" ] && SERVER_NAME="Metaproxy user"
12     [ -z "$SERVER_GROUP" ] && SERVER_GROUP=metaproxy
13     
14     # 1. create group if not existing
15     if ! getent group | grep -q "^$SERVER_GROUP:" ; then
16         echo -n "Adding group $SERVER_GROUP.."
17         addgroup --quiet --system $SERVER_GROUP 2>/dev/null ||true
18         echo "..done"
19     fi
20     # 2. create homedir if not existing
21     test -d $SERVER_HOME || mkdir $SERVER_HOME
22
23     # 3. create user if not existing
24     if ! getent passwd | grep -q "^$SERVER_USER:"; then
25         echo -n "Adding system user $SERVER_USER.."
26         adduser --quiet \
27             --system \
28             --ingroup $SERVER_GROUP \
29             --no-create-home \
30             --disabled-password \
31             $SERVER_USER 2>/dev/null || true
32         echo "..done"
33     fi
34     # 4. adjust passwd entry
35     usermod -c "$SERVER_NAME" \
36         -d $SERVER_HOME   \
37         -g $SERVER_GROUP  \
38         $SERVER_USER
39     
40     # 5. adjust file and directory permissions
41     if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
42     then
43         chown -R $SERVER_USER:adm $SERVER_HOME
44         chmod u=rwx,g=rxs,o= $SERVER_HOME
45     fi
46
47     # 6. start service
48     if [ -x "/etc/init.d/metaproxy" ]; then
49         update-rc.d metaproxy defaults >/dev/null
50         invoke-rc.d metaproxy start || exit $?
51     fi
52     ;;
53 esac