Welcome to mirror list, hosted at ThFree Co, Russian Federation.

custom_plugin.template « plugins - github.com/CISOfy/lynis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 72ce3ce03451247e9c14cd5290c5371e71b2fde0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/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