ASSP mit unpriviligierten Benutzer starten

Einen unpriviligierten Benutzer erstellen, “-d” definiert das Heimverzeichnis, das später auch die ASSP-Dateien beinhalten wird. Ein Passwort wird nicht vergeben, da ein Login mit der fiktiven Shell “false” nicht möglich ist:

useradd -m -d /srv/assp -s /bin/false assp

Ich wechsel zum Benutzer “seafile” unter manueller Angabe einer Shell, in diesem Fall Bash:

su - assp -s /bin/bash

Folgendes Skript anlegen /etc/init.d/assp

#!/bin/bash
#### CONFIG START ####
user=root
dir=/srv/assp
##### CONFIG END #####

sudo -u ${user} ${dir}/assp_startscript.sh $1

Und das eigentliche Startscript unter /srv/assp/assp_startscript.sh anlegen:

#!/bin/sh -e
# Start or stop ASSP
PATH=/bin:/usr/bin:/sbin:/usr/sbin

case "$1" in

start)
echo -n "Starting the Anti-Spam SMTP Proxy"
cd /srv/assp
perl assp.pl &
;;

stop)
echo -n "Stopping the Anti-Spam SMTP Proxy"
kill -9 `ps ax | grep "perl assp.pl" | grep -v grep | awk '{ print $1 }'`
;;

restart)
$0 stop || true
$0 start
;;

*)
echo "Usage: /etc/init.d/assp {start|stop|restart}"
exit 1
;;

esac

exit 0

 

update-rc.d assp defaults

Anschließend im ASSP noch folgende Parameter definieren

Run as UID (runAsUser) = assp
Run as GID (runAsGroup) = assp 

Author: Stefan