mirror of
https://github.com/m8tin/cis.git
synced 2026-11-02 14:17:24 +01:00
Checks improved
This commit is contained in:
1 parent
ee114ee732
commit
00b920763e
30 files changed
+21
-20
No files matched your search
@@ -9,6 +9,9 @@
|
|||||||
!/definitions/README.md
|
!/definitions/README.md
|
||||||
!/definitions/default/
|
!/definitions/default/
|
||||||
/definitions/default/*
|
/definitions/default/*
|
||||||
|
!/definitions/default/check/
|
||||||
|
/definitions/default/check/*
|
||||||
|
!/definitions/default/check/all/
|
||||||
!/definitions/default/core/
|
!/definitions/default/core/
|
||||||
/definitions/default/core/*
|
/definitions/default/core/*
|
||||||
!/definitions/default/core/all/
|
!/definitions/default/core/all/
|
||||||
|
|||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,12 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
source /cis/core/base.module.sh
|
||||||
_SCRIPT="$(readlink -f "${0}" 2> /dev/null)"
|
|
||||||
|
|
||||||
# Folders always ends with an tailing '/'
|
|
||||||
_CIS_ROOT="${_SCRIPT%%/script/check/*}/" #Removes longest matching pattern '/script/check/*' from the end
|
|
||||||
_SCRIPT_PATH="${_CIS_ROOT:?"Missing CIS_ROOT"}script/"
|
|
||||||
_OWN_DOMAIN="$(${_CIS_ROOT}core/printOwnDomain.sh)"
|
|
||||||
_OWN_DEFINITIONS="${_CIS_ROOT}definitions/${_OWN_DOMAIN:?"Missing OWN_DOMAIN"}/"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -20,7 +13,7 @@ function run_as_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function scripts_are_updateable_by_git() {
|
function scripts_are_updateable_by_git() {
|
||||||
git -C "${_SCRIPT_PATH:?"Missing SCRIPT_PATH"}" pull > /dev/null 2>&1 \
|
git -C "${CIS[SCRIPTDIR]?"Missing CIS_SCRIPTDIR"}" pull > /dev/null 2>&1 \
|
||||||
&& echo OK \
|
&& echo OK \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
||||||
@@ -29,31 +22,36 @@ function scripts_are_updateable_by_git() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function allChecks() {
|
function allChecks() {
|
||||||
local _CHECK_PATH _MODE_PATH
|
local _CHECK_PATH _MODE_PATH _CHECK_FILES
|
||||||
_CHECK_PATH="${1:?"allChecks(): Missing first parameter CHECK_PATH"}check/"
|
_CHECK_PATH="${1:?"allChecks(): Missing first parameter CHECK_PATH"}check/"
|
||||||
_MODE_PATH="${2:-all}/"
|
_MODE_PATH="${2:-all}/"
|
||||||
readonly _CHECK_PATH _MODE_PATH
|
_CHECK_FILES="${_CHECK_PATH}${_MODE_PATH}"
|
||||||
|
readonly _CHECK_PATH _MODE_PATH _CHECK_FILES
|
||||||
|
|
||||||
echo " - ${_CHECK_PATH}host/${_MODE_PATH}*.check.sh"
|
local _CHECK_FOUND="false"
|
||||||
[ "$(ls -1 ${_CHECK_PATH}host/${_MODE_PATH}*.check.sh 2> /dev/null | grep -cE '.*')" == "0" ] \
|
echo " - ${_CHECK_FILES}*.check.sh"
|
||||||
&& echo " nothing to do" \
|
for _CURRENT_CHECK in "${_CHECK_FILES}"*.check.sh; do
|
||||||
&& return 0
|
! [ -x "${_CURRENT_CHECK}" ] \
|
||||||
|
&& continue
|
||||||
for _CURRENT_CHECK in ${_CHECK_PATH}host/${_MODE_PATH}*.check.sh; do
|
_CHECK_FOUND="true"
|
||||||
_NAME="$(basename ${_CURRENT_CHECK} | cut -d'.' -f1)"
|
_NAME="$(basename ${_CURRENT_CHECK} | cut -d'.' -f1)"
|
||||||
_CONTEXT="$(echo ${_NAME} | cut -d'_' -f1)"
|
_CONTEXT="$(echo ${_NAME} | cut -d'_' -f1)"
|
||||||
_CHECK="$(echo ${_NAME} | cut -d'_' -f2- | tr '_' ' ')"
|
_CHECK="$(echo ${_NAME} | cut -d'_' -f2- | tr '_' ' ')"
|
||||||
_RESULT="$("${_CURRENT_CHECK}" && echo OK || echo FAIL)"
|
_RESULT="$("${_CURRENT_CHECK}" && echo OK || echo FAIL)"
|
||||||
echo " ${_CONTEXT^^} ${_CHECK}: ${_RESULT}"
|
echo " ${_CONTEXT^^} ${_CHECK}: ${_RESULT}"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[ "${_CHECK_FOUND}" == "false" ] \
|
||||||
|
&& echo " nothing to do" \
|
||||||
|
&& return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "PRECONDITION run as root: $(run_as_root)"
|
echo "PRECONDITION run as root: $(run_as_root)"
|
||||||
echo "PRECONDITION scripts are updateable by git: $(scripts_are_updateable_by_git)"
|
echo "PRECONDITION scripts are updateable by git: $(scripts_are_updateable_by_git)"
|
||||||
echo
|
echo
|
||||||
echo "Check all (common):"
|
echo "Check all (common):"
|
||||||
allChecks "${_SCRIPT_PATH}"
|
allChecks "${CIS[DEFAULTDEFINITIONS]?"Missing CIS_DEFAULTDEFINITIONS"}"
|
||||||
echo "Check all (own):"
|
echo "Check all (own):"
|
||||||
allChecks "${_OWN_DEFINITIONS}"
|
allChecks "${CIS[DOMAINDEFINITIONS]?"Missing CIS_DOMAINDEFINITIONS"}"
|
||||||
echo "Check this host:"
|
echo "Check this host:"
|
||||||
allChecks "${_OWN_DEFINITIONS}" "$(hostname -s)"
|
allChecks "${CIS[DOMAINDEFINITIONS]}" "$(hostname -s)"
|
||||||
Reference in new issue
Block a user