mirror of https://github.com/CISOfy/lynis.git
86 lines
3.6 KiB
Bash
86 lines
3.6 KiB
Bash
#!/bin/sh
|
|
|
|
# -------------------------- CUT THIS SECTION ---------------------------
|
|
# This is a template to create a customized plugin
|
|
#
|
|
# Each plugin should at least have several variables defined with the
|
|
# prefix PLUGIN_* (see below)
|
|
#
|
|
# If you want to learn what functions you can use, check include/functions
|
|
#
|
|
# -------------------------- CUT THIS SECTION ---------------------------
|
|
|
|
#########################################################################
|
|
#
|
|
# * DO NOT REMOVE *
|
|
#-----------------------------------------------------
|
|
# PLUGIN_AUTHOR=___firstname_lastname_<email>___
|
|
# PLUGIN_CATEGORY=[category]
|
|
# PLUGIN_DESC=[description]
|
|
# PLUGIN_NAME=[plugin_name]
|
|
# PLUGIN_REQUIRED_TESTS=
|
|
#-----------------------------------------------------
|
|
#
|
|
#########################################################################
|
|
#
|
|
# Add custom section to screen output
|
|
InsertSection "Custom Plugin"
|
|
#
|
|
#################################################################################
|
|
#
|
|
# Test : CUST-0001
|
|
# Description : We show some lines on the screen
|
|
|
|
# Register our first custom test
|
|
# We consider it to be a lightweight test (no heavy IO, or long searches), no network connection needed
|
|
Register --test-no CUST-0001 --weight L --network NO --description "A test case for colors and text display"
|
|
if [ ${SKIPTEST} -eq 0 ]; then
|
|
# The Display function makes it easy to show something on screen, with colors.
|
|
# --indent defines amount of spaces
|
|
# --text text to be displayed on screen
|
|
# --result text at end of line
|
|
# --color color of result text
|
|
Display --indent 2 --text "- Checking if everything is OK..." --result OK --color GREEN
|
|
Display --indent 4 --text "This shows one level deeper " --result NOTICE --color YELLOW
|
|
Display --indent 6 --text "And even deeper" --result WARNING --color RED
|
|
|
|
# Show a warning on screen and in the report. We can specify a detail and how to solve it.
|
|
ReportWarning "${TEST_NO}" "Something was wrong and should be fixed" "/etc/motd" "text:Change your motd"
|
|
ReportSuggestion "${TEST_NO}" "Check if this process is running" "apache" "url:https://cisofy.com/support/"
|
|
fi
|
|
#
|
|
#################################################################################
|
|
#
|
|
|
|
# First check if OPENSSLBINARY is known as a prerequisite for this test.
|
|
if [ ! -z "${OPENSSLBINARY}" ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi
|
|
Register --test-no CUST-0001 --preqs-met ${PREQS_MET} --weight M --network NO --description "Description of custom test"
|
|
if [ ${SKIPTEST} -eq 0 ]; then
|
|
FOUNDPROBLEM=0
|
|
DIR="/my/path"
|
|
LogText "Test: we are going to check if we can find a particular directory (${DIR})"
|
|
# Check if a directory exists
|
|
if [ -d ${DIR} ]; then
|
|
LogText "Result: log entry for easier debugging or additional information"
|
|
else
|
|
FOUNDPROBLEM=1
|
|
LogText "Result: directory ${DIR} was not found!"
|
|
ReportWarning "${TEST_NO}" "This is a test warning line" "${DIR}" "text:Create directory ${DIR}"
|
|
fi
|
|
|
|
if [ ${FOUNDPROBLEM} -eq 0 ]; then
|
|
Display --indent 2 --text "- Checking if everything is OK..." --result OK --color GREEN
|
|
else
|
|
Display --indent 2 --text "- Checking if everything is OK..." --result WARNING --color RED
|
|
ReportSuggestion ${TEST_NO} "This is a suggestion"
|
|
fi
|
|
fi
|
|
#
|
|
#################################################################################
|
|
#
|
|
|
|
# Wait for keypress (unless --quick is being used)
|
|
wait_for_keypress
|
|
|
|
#EOF
|