import from HEAD:
[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         if [ "$2" = "" ] ; then
15                 # put user freerad in group shadow, so the daemon can auth locally
16                 usermod -G shadow freerad
17         fi
18
19         update-rc.d freeradius defaults 50 >/dev/null
20
21         if [ ! -d /var/log/freeradius ]; then
22                 mkdir -p /var/log/freeradius
23         fi
24
25         if [ ! -f /var/log/freeradius/radius.log ]; then
26                 touch /var/log/freeradius/radius.log
27         fi
28
29         if [ ! -f /var/log/freeradius/radwtmp ]; then
30                 touch /var/log/freeradius/radwtmp
31         fi
32
33         if [ ! -d /var/run/freeradius ]; then
34                 mkdir /var/run/freeradius
35         fi
36
37         chown freerad:freerad /var/run/freeradius
38
39         find /etc/freeradius -type f -exec chgrp freerad {} \; -exec chmod 640 {} \;
40         find /etc/freeradius -type d -exec chgrp freerad {} \; -exec chmod 2750 {} \;
41         find /var/log/freeradius -exec chown freerad {} \; -exec chgrp freerad {} \;
42
43         if [ "$2" = "" ] ; then
44                 action="start"
45         else
46                 action="restart"
47         fi
48
49         if command -v invoke-rc.d >/dev/null 2>&1; then
50                 invoke-rc.d freeradius $action || true
51         else
52                 /etc/init.d/freeradius $action
53         fi
54
55         ;;
56   abort-upgrade)
57         ;;
58   abort-remove)
59         if command -v invoke-rc.d >/dev/null 2>&1; then
60                 invoke-rc.d freeradius start || true
61         else
62                 /etc/init.d/freeradius start
63         fi
64         ;;
65   abort-deconfigure)
66         ;;
67 esac
68
69 #DEBHELPER#
70
71 exit 0