mirror of https://github.com/CISOfy/lynis.git
99 lines
3.1 KiB
Bash
99 lines
3.1 KiB
Bash
#!/bin/sh
|
|
|
|
#################################################################################
|
|
#
|
|
# Lynis
|
|
# ------------------
|
|
#
|
|
# Copyright 2007-2013, Michael Boelen
|
|
# Copyright 2013-2016, CISOfy
|
|
#
|
|
# Website : https://cisofy.com
|
|
# Blog : http://linux-audit.com
|
|
# GitHub : https://github.com/CISOfy/lynis
|
|
#
|
|
# Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
|
|
# welcome to redistribute it under the terms of the GNU General Public License.
|
|
# See LICENSE file for usage of this software.
|
|
#
|
|
######################################################################
|
|
#
|
|
# Helper program to configure Lynis
|
|
#
|
|
######################################################################
|
|
#
|
|
# How to use:
|
|
# ------------
|
|
#
|
|
# Run:
|
|
# lynis configure settings quick
|
|
# lynis configure settings quick=yes:debug=yes
|
|
#
|
|
######################################################################
|
|
|
|
CONFIGURE_CRONJOB=0
|
|
CONFIGURE_SETTINGS=0
|
|
|
|
# Check configure mode
|
|
if [ "${HELPER_PARAMS}" = "" ]; then
|
|
${ECHOCMD} "${YELLOW}Provide one or more configuration settings${NORMAL}"
|
|
${ECHOCMD} ""
|
|
${ECHOCMD} "Examples:"
|
|
${ECHOCMD} " $0 configure cronjob"
|
|
${ECHOCMD} ""
|
|
${ECHOCMD} " $0 configure settings quick"
|
|
${ECHOCMD} " $0 configure settings debug:developer-mode:quick"
|
|
${ECHOCMD} " $0 configure settings debug=yes:developer-mode=no:quick=yes"
|
|
${ECHOCMD} ""
|
|
ExitClean
|
|
elif [ "$1" = "cronjob" ]; then
|
|
CONFIGURE_CRONJOB=1
|
|
elif [ "$1" = "settings" ]; then
|
|
CONFIGURE_SETTINGS=1
|
|
fi
|
|
|
|
|
|
# Perform activities depending on requested task
|
|
if [ ${CONFIGURE_CRONJOB} -eq 1 ]; then
|
|
|
|
${ECHOCMD} "Automatic configuration for cronjobs is not implemented yet."
|
|
ExitClean
|
|
|
|
elif [ ${CONFIGURE_SETTINGS} -eq 1 ]; then
|
|
|
|
# Determine where profiles are stored
|
|
if [ "${PROFILEDIR}" = "" ]; then
|
|
${ECHOCMD} "Can not configure Lynis, as profile directory is unknown"
|
|
ExitFatal
|
|
fi
|
|
if [ "${CUSTOM_PROFILE}" = "" ]; then ${ECHOCMD} "No custom profile found yet."; fi
|
|
|
|
FIND=$(echo ${HELPER_PARAMERS} | grep " ")
|
|
if [ ! "${FIND}" = "" ]; then ${ECHOCMD} "Found invalid character (space) in configuration string"; ExitFatal; fi
|
|
|
|
CONFIGURE_SETTINGS=$(echo $2 | sed 's/:/ /g')
|
|
for I in ${CONFIGURE_SETTINGS}; do
|
|
SETTING=$(echo ${I} | awk -F= '{print $1}')
|
|
VALUE=$(echo ${I} | awk -F= '{print $2}')
|
|
if [ "${VALUE}" = "" ]; then
|
|
Debug "Did not find a value configured on the command line for setting ${SETTING}"
|
|
#read VALUE
|
|
else
|
|
Debug "Setting '${SETTING}' should be configured with value '${VALUE}'"
|
|
fi
|
|
# Now check if value is in line with expected type (boolean, integer, string)
|
|
# =To be implemented=
|
|
done
|
|
${ECHOCMD} ""
|
|
${ECHOCMD} "${YELLOW}Note${NORMAL}: ${WHITE}Automatic configuration not fully implemented yet.${NORMAL}"
|
|
${ECHOCMD} ""
|
|
ExitClean
|
|
|
|
fi
|
|
|
|
|
|
ExitClean
|
|
|
|
|
|
# The End
|