]> granicus.if.org Git - icinga2/blob - etc/initsystem/icinga2-prepare-dirs
5317da7669bcec78e56c319678d0657435fc2811
[icinga2] / etc / initsystem / icinga2-prepare-dirs
1 #!/bin/sh
2 #
3 # This script prepares directories and files needed for running Icinga2
4 #
5
6 # load system specific defines
7 SYSCONFIGFILE=$1
8 if [ -f "$SYSCONFIGFILE" ]; then
9         . $SYSCONFIGFILE
10 else
11         echo "Error: You need to supply the path to the Icinga2 sysconfig file as parameter."
12         exit 1
13 fi
14
15
16 ICINGA2_USER=`$DAEMON variable get --current RunAsUser`
17 if [ $? != 0 ]; then
18         echo "Could not fetch RunAsUser variable. Error '$ICINGA2_USER'. Exiting."
19         exit 6
20 fi
21
22 ICINGA2_GROUP=`$DAEMON variable get --current RunAsGroup`
23 if [ $? != 0 ]; then
24         echo "Could not fetch RunAsGroup variable. Error '$ICINGA2_GROUP'. Exiting."
25         exit 6
26 fi
27
28 getent passwd $ICINGA2_USER >/dev/null 2>&1 || (echo "Icinga user '$ICINGA2_USER' does not exist. Exiting." && exit 6)
29 getent group $ICINGA2_GROUP >/dev/null 2>&1 || (echo "Icinga group '$ICINGA2_GROUP' does not exist. Exiting." && exit 6)
30 getent group $ICINGA2_COMMAND_GROUP >/dev/null 2>&1 || (echo "Icinga command group '$ICINGA2_COMMAND_GROUP' does not exist. Exiting." && exit 6)
31
32 mkdir -p $(dirname -- $ICINGA2_PID_FILE)
33 chown $ICINGA2_USER:$ICINGA2_GROUP $(dirname -- $ICINGA2_PID_FILE)
34 if [ -f $ICINGA2_PID_FILE ]; then
35         chown $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_PID_FILE
36 fi
37
38 mkdir -p $(dirname -- $ICINGA2_ERROR_LOG)
39 chown $ICINGA2_USER:$ICINGA2_COMMAND_GROUP $(dirname -- $ICINGA2_ERROR_LOG)
40 chmod 750 $(dirname -- $ICINGA2_ERROR_LOG)
41 if [ -f $ICINGA2_ERROR_LOG ]; then
42         chown $ICINGA2_USER:$ICINGA2_COMMAND_GROUP $ICINGA2_ERROR_LOG
43 fi
44 if [ -f $ICINGA2_LOG ]; then
45         chown $ICINGA2_USER:$ICINGA2_COMMAND_GROUP $ICINGA2_LOG
46 fi
47
48 mkdir -p $ICINGA2_RUN_DIR/icinga2/cmd
49 chown $ICINGA2_USER:$ICINGA2_COMMAND_GROUP $ICINGA2_RUN_DIR/icinga2/cmd
50 chmod 2750 $ICINGA2_RUN_DIR/icinga2/cmd