Index: icinga2-2.11.3/etc/initsystem/prepare-dirs.cmake =================================================================== --- icinga2-2.11.3.orig/etc/initsystem/prepare-dirs.cmake +++ icinga2-2.11.3/etc/initsystem/prepare-dirs.cmake @@ -25,14 +25,19 @@ getent passwd $ICINGA2_USER >/dev/null 2 getent group $ICINGA2_GROUP >/dev/null 2>&1 || (echo "Icinga group '$ICINGA2_GROUP' does not exist. Exiting." && exit 6) getent group $ICINGA2_COMMAND_GROUP >/dev/null 2>&1 || (echo "Icinga command group '$ICINGA2_COMMAND_GROUP' does not exist. Exiting." && exit 6) -if [ ! -e "$ICINGA2_INIT_RUN_DIR" ]; then - mkdir "$ICINGA2_INIT_RUN_DIR" - mkdir "$ICINGA2_INIT_RUN_DIR"/cmd +if [ -e "$ICINGA2_INIT_RUN_DIR" ]; then + user_group=`stat --printf="%U:%G" "$ICINGA2_INIT_RUN_DIR"` + if [ "$user_group" != "$ICINGA2_USER:$ICINGA2_COMMAND_GROUP" ]; then + # re-create the directory structure below using the correct + # user/group + rm -rf "$ICINGA2_INIT_RUN_DIR" + fi fi -chmod 755 "$ICINGA2_INIT_RUN_DIR" -chmod 2750 "$ICINGA2_INIT_RUN_DIR"/cmd -chown -R $ICINGA2_USER:$ICINGA2_COMMAND_GROUP "$ICINGA2_INIT_RUN_DIR" +if [ ! -e "$ICINGA2_INIT_RUN_DIR" ]; then + mkdir -m 755 "$ICINGA2_INIT_RUN_DIR" + mkdir -m 2750 "$ICINGA2_INIT_RUN_DIR"/cmd +fi test -e "$ICINGA2_LOG_DIR" || install -m 750 -o $ICINGA2_USER -g $ICINGA2_COMMAND_GROUP -d "$ICINGA2_LOG_DIR"