From a0309c3b8bbba1f29dbb77ab8f0c6f4e1dc4b3c8 Mon Sep 17 00:00:00 2001 From: m8in Date: Sun, 17 May 2026 17:20:46 +0200 Subject: [PATCH] Removed printOwnDomain.sh --- core/base.module.sh | 15 +++++---- core/printOwnDomain.sh | 30 ----------------- .../monitor/generic/CIS_OWN_DOMAIN_CHECK.sh | 32 +++++++++++++------ 3 files changed, 31 insertions(+), 46 deletions(-) delete mode 100755 core/printOwnDomain.sh diff --git a/core/base.module.sh b/core/base.module.sh index 30609fc..7f4db0a 100755 --- a/core/base.module.sh +++ b/core/base.module.sh @@ -67,8 +67,8 @@ function prepare.setCIS() { # Retrieves the variables for this module using 'BASH_SOURCE[0]', the infos about the script using '$0'. local _ROOT_TRUNK _FULLBASENAME _FULLSCRIPTNAME - _FULLBASENAME=$(realpath "${BASH_SOURCE[0]}" 2> /dev/null) - _FULLSCRIPTNAME=$(realpath "${0}" 2> /dev/null) + _FULLBASENAME="$(realpath "${BASH_SOURCE[0]}" 2> /dev/null)" + _FULLSCRIPTNAME="$(realpath "${0}" 2> /dev/null)" _ROOT_TRUNK="${_FULLSCRIPTNAME%cis/*}" while [ ! -d "${_ROOT_TRUNK}cis/core/" ]; do @@ -84,10 +84,7 @@ function prepare.setCIS() { # Folders always ends with an tailing '/' CIS[ROOT]="${_ROOT_TRUNK:?"Missing ROOT_TRUNK"}cis/" - CIS[COREROOT]="${CIS[ROOT]:?"Missing ROOT"}core/" - CIS[SCRIPTSROOT]="${CIS[ROOT]}script/" - CIS[DOMAIN]=$(base.printOwnDomain "${CIS[ROOT]}") - CIS[MODULEDIR]="${CIS[ROOT]}module/" + CIS[DOMAIN]="$(base.printOwnDomain "${CIS[ROOT]:?"Missing ROOT"}")" [ -z "${CIS[DOMAIN]}" ] \ && echo \ @@ -96,6 +93,10 @@ function prepare.setCIS() { && echo \ && return 1 + CIS[COREROOT]="${CIS[ROOT]}core/" + CIS[MODULEROOT]="${CIS[ROOT]}module/" + CIS[SCRIPTSROOT]="${CIS[ROOT]}script/" + # Sets the valus of the global array 'CIS' and set it readonly CIS[ARGS]="${@}" CIS[HOME]="${HOME:-"/root"}/" @@ -221,7 +222,7 @@ function base.filterComments() { function base.loadModule() { local _MODULENAME _MODULEFULLNAME _MODULENAME="${1:?"Function base.loadModule(): Missing parameter MODULENAME."}" - _MODULEFULLNAME="${CIS[MODULEDIR]:?"Function base.loadModule(): Missing CISMODULEDIR."}/${_MODULENAME}.module.sh" + _MODULEFULLNAME="${CIS[MODULEROOT]:?"Function base.loadModule(): Missing CISMODULEDIR."}/${_MODULENAME}.module.sh" readonly _MODULENAME _MODULEFULLNAME #module already is loaded => return diff --git a/core/printOwnDomain.sh b/core/printOwnDomain.sh deleted file mode 100755 index a5e712d..0000000 --- a/core/printOwnDomain.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -#WARNING: Used for core functionality in setup.sh -# DO NOT rename the script and test changes well! - - - -# Folders always ends with an tailing '/' -_SCRIPT="$(readlink -f "${0}" 2> /dev/null)" -_CIS_ROOT="${_SCRIPT%%/core/*}/" #Removes longest matching pattern '/core/*' from the end -_OVERRIDE_DOMAIN_FILE="${_CIS_ROOT:?"Missing CIS_ROOT"}overrideOwnDomain" - -# There has to be one dot at least. -_BOOT_DOMAIN="$(hostname -b | grep -F '.' | cut -d. -f2-)" - -# Take OVERRIDING_DOMAIN_FILE without empty lines and comments, then take the first line without leading spaces -_OVERRIDE_DOMAIN="$(grep -vE '^[[:space:]]*$|^[[:space:]]*#' "${_OVERRIDE_DOMAIN_FILE}" 2> /dev/null | head -n 1 | xargs)" - -! [ -z "${_OVERRIDE_DOMAIN}" ] \ - && [ "${_OVERRIDE_DOMAIN}" != "${_BOOT_DOMAIN}" ] \ - && echo "WARNING: Domain has been overridden by: ${_OVERRIDE_DOMAIN_FILE}" >&2 \ - && echo "${_OVERRIDE_DOMAIN}" \ - && exit 0 - -! [ -z "${_BOOT_DOMAIN}" ] \ - && echo "${_BOOT_DOMAIN}" \ - && exit 0 - -echo "It was impossible to find out the domain of this host, please prepare this host first." >&2 -exit 1 diff --git a/script/monitor/generic/CIS_OWN_DOMAIN_CHECK.sh b/script/monitor/generic/CIS_OWN_DOMAIN_CHECK.sh index 1bad232..59a7ba3 100755 --- a/script/monitor/generic/CIS_OWN_DOMAIN_CHECK.sh +++ b/script/monitor/generic/CIS_OWN_DOMAIN_CHECK.sh @@ -4,17 +4,31 @@ base.loadModule ssh -function testDomain(){ - local _RESULT=$(ssh.onHostRun "monitoring@${1:?"Missing REMOTE_HOST"}" 'bash /cis/core/printOwnDomain.sh' 2>&1 1>/dev/null) +function testDomain() { + if [ -n "${1}" ]; then + local _RESULT="$(ssh.onHostRun "monitoring@${1:?"Missing REMOTE_HOST"}" '/cis/script/monitor/generic/CIS_OWN_DOMAIN_CHECK.sh' 2>/dev/null)" - [ -z "${_RESULT}" ] \ - && echo "OK" \ - && return 0 + [ -n "${_RESULT}" ] \ + && echo "${_RESULT}" \ + && return 0 - local _DOMAIN=$(ssh.onHostRun "monitoring@${1:?"Missing REMOTE_HOST"}" 'bash /cis/core/printOwnDomain.sh' 2>/dev/null) - echo "WARNING#Overwritten to '${_DOMAIN}'" - return 0 + echo "FAIL#check ssh connection" + return 1 + else + [ -z "${CIS[DOMAIN]}" ] \ + && echo "FAIL" \ + && return 1 + + [ "$(hostname -s).${CIS[DOMAIN]}" == "${CIS[HOST]}" ] \ + && echo "OK" \ + && return 0 + + echo "WARNING#Overwritten to '${CIS[DOMAIN]}'" + return 0 + fi } -base.set REMOTE_HOST "${1:?"FQDN of server missing: e.g. host.example.net[:port]"}" '^([a-zA-Z0-9][a-zA-Z0-9.-]*)+(:[0-9]+)?$' +# FQDN of server: e.g. host.example.net[:port] +base.set REMOTE_HOST "${1}" '^(([a-zA-Z0-9][a-zA-Z0-9.-]*)+(:[0-9]+)?)?$' testDomain "${REMOTE_HOST}" && exit 0 +exit 1