freeradius.postinst [plain text]
#! /bin/sh
set -e
new_install()
{
if ! id freerad >/dev/null 2>&1; then
addgroup --system freerad || true
groups freerad 2>/dev/null || adduser --system --no-create-home --home /etc/freeradius --ingroup freerad --disabled-password freerad
adduser freerad shadow
fi
update-rc.d freeradius start 50 2 3 4 5 . stop 19 0 1 6 . >/dev/null
if [ ! -d /var/log/freeradius ]; then
mkdir -p /var/log/freeradius
fi
if [ ! -f /var/log/freeradius/radius.log ]; then
touch /var/log/freeradius/radius.log
fi
if [ ! -f /var/log/freeradius/radwtmp ]; then
touch /var/log/freeradius/radwtmp
fi
if [ ! -d /var/run/freeradius ]; then
mkdir /var/run/freeradius
fi
chown -R freerad:freerad /var/log/freeradius
chown -R freerad:freerad /var/run/freeradius
chgrp -R freerad /etc/freeradius
find /etc/freeradius -type d -print0 | xargs -0 chmod 2750
find /etc/freeradius -type f -print0 | xargs -0 chmod 0640
chmod 2751 /etc/freeradius
chmod 0644 /etc/freeradius/dictionary
chmod 0750 /etc/freeradius/certs/bootstrap
/etc/freeradius/certs/bootstrap
}
case "$1" in
configure)
if [ -z "$2" ]; then
new_install
action="start"
else
action="restart"
fi
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d freeradius $action || true
else
/etc/init.d/freeradius $action
fi
;;
abort-upgrade)
;;
abort-remove)
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
invoke-rc.d freeradius start || true
else
/etc/init.d/freeradius start
fi
;;
abort-deconfigure)
;;
esac
exit 0