| #!/bin/bash | |
| case "$1" in | |
| install|upgrade) | |
| # If the package has default file it could be sourced, so that | |
| # the local admin can overwrite the defaults | |
| [ -f "/etc/default/jetty9" ] && . /etc/default/jetty9 | |
| # Sane defaults: | |
| [ -z "$SERVER_HOME" ] && SERVER_HOME=/usr/share/jetty9 | |
| [ -z "$SERVER_USER" ] && SERVER_USER=jetty | |
| [ -z "$SERVER_NAME" ] && SERVER_NAME="Jetty-9 Http and Servlet Engine" | |
| [ -z "$SERVER_GROUP" ] && SERVER_GROUP=jetty | |
| # Groups that the user will be added to, if undefined, then none. | |
| ADDGROUP="" | |
| # create user to avoid running server as root | |
| # 1. create group if not existing | |
| if ! getent group | grep -q "^$SERVER_GROUP:" ; then | |
| echo -n "Adding group $SERVER_GROUP.." | |
| addgroup --quiet --system $SERVER_GROUP 2>/dev/null ||true | |
| echo "..done" | |
| fi | |
| # 2. create homedir if not existing | |
| test -d $SERVER_HOME || mkdir $SERVER_HOME | |
| # 3. create user if not existing | |
| if ! getent passwd | grep -q "^$SERVER_USER:"; then | |
| echo -n "Adding system user $SERVER_USER.." | |
| adduser --quiet \ | |
| --system \ | |
| --ingroup $SERVER_GROUP \ | |
| --no-create-home \ | |
| --disabled-password \ | |
| $SERVER_USER 2>/dev/null || true | |
| echo "..done" | |
| fi | |
| # 4. adjust passwd entry | |
| usermod -c "$SERVER_NAME" \ | |
| -d $SERVER_HOME \ | |
| -g $SERVER_GROUP \ | |
| $SERVER_USER | |
| # 5. adjust file and directory permissions | |
| if ! dpkg-statoverride --list $SERVER_HOME >/dev/null | |
| then | |
| chown -R $SERVER_USER:$SERVER_GROUP $SERVER_HOME | |
| chmod u=rwx,g=rxs,o= $SERVER_HOME | |
| fi | |
| # 6. Add the user to the ADDGROUP group | |
| if test -n $ADDGROUP | |
| then | |
| if ! groups $SERVER_USER | cut -d: -f2 | \ | |
| grep -qw $ADDGROUP; then | |
| adduser $SERVER_USER $ADDGROUP | |
| fi | |
| fi | |
| ;; | |
| configure) |