Fix upgrade test
[freeradius.git] / debian / freeradius.postinst
1 #! /bin/sh
2
3 set -e
4
5 case "$1" in
6   configure)
7
8         addgroup --system freerad || true
9         groups freerad 2>/dev/null || adduser --system --no-create-home --home /etc/freeradius --ingroup freerad --disabled-password freerad
10
11         # make sure there is a user and group 'freerad'
12         groups freerad |grep freerad >/dev/null
13
14         # put user freerad in group shadow, so the daemon can auth locally
15         usermod -G shadow freerad
16
17         update-rc.d freeradius defaults 50 >/dev/null
18
19         if [ ! -d /var/log/freeradius ]; then
20                 mkdir -p /var/log/freeradius
21         fi
22
23         if [ ! -f /var/log/freeradius/radius.log ]; then
24                 touch /var/log/freeradius/radius.log
25         fi
26
27         if [ ! -f /var/log/freeradius/radwtmp ]; then
28                 touch /var/log/freeradius/radwtmp
29         fi
30
31         if [ ! -d /var/run/freeradius ]; then
32                 mkdir /var/run/freeradius
33         fi
34
35         chown freerad:freerad /var/run/freeradius
36
37         find /etc/freeradius -type f -exec chgrp freerad {} \; -exec chmod 660 {} \;
38         find /etc/freeradius -type d -exec chgrp freerad {} \; -exec chmod 2770 {} \;
39         find /var/log/freeradius -exec chown freerad {} \; -exec chgrp freerad {} \;
40
41         if [ "$2" = "" ] ; then
42                 action="start"
43         else
44                 action="restart"
45         fi
46
47         if [ -x /usr/sbin/invoke-rc.d ] ; then
48                 invoke-rc.d freeradius $action || true
49         else
50                 /etc/init.d/freeradius $action
51         fi
52
53         ;;
54   abort-upgrade)
55         ;;
56   abort-remove)
57         ;;
58   abort-deconfigure)
59         ;;
60 esac
61
62 #DEBHELPER#
63
64 exit 0