mirror of
https://github.com/CISOfy/lynis.git
synced 2026-03-11 08:55:28 +00:00
* Typo fix. * Style change: always use $(), never ``. The Lynis code already mostly used $(), but backticks were sprinkled around. Converted all of them. * Lots of minor spelling/typo fixes. FWIW these were found with: find . -type f -print0 | xargs -0 cat | aspell list | sort -u | egrep '^[a-z]+$' | less And then reviewing the list to pick out things that looked like misspelled words as opposed to variables, etc., and then manual inspection of context to determine the intention.
112 lines
3.4 KiB
Bash
112 lines
3.4 KiB
Bash
#!/bin/sh
|
|
|
|
#################################################################################
|
|
#
|
|
# Lynis
|
|
# ------------------
|
|
#
|
|
# Copyright 2007-2013, Michael Boelen
|
|
# Copyright 2007-2017, 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 support automatic updates of Lynis
|
|
#
|
|
######################################################################
|
|
#
|
|
# Options:
|
|
# ---------
|
|
# 1) lynis update info - Show version information (external)
|
|
#
|
|
# How to use:
|
|
# ------------
|
|
# Run option 1 to know about current and latest release information.
|
|
#
|
|
######################################################################
|
|
|
|
LOCAL_VERSION="-"
|
|
RUN_UPDATE_CHECK=1
|
|
SERVER_VERSION=""
|
|
PERFORM_UPGRADE=0
|
|
QUIET=0
|
|
|
|
WGET_EXISTS=$(which wget 2> /dev/null)
|
|
CURL_EXISTS=$(which curl 2> /dev/null)
|
|
FETCH_EXISTS=$(which fetch 2> /dev/null)
|
|
|
|
# Update version
|
|
if [ "$1" = "release" ]; then
|
|
|
|
${ECHOCMD} "Deprecated: this function is no longer available. Use a package (https://packages.cisofy.com), or deploy via a custom package or script."
|
|
|
|
# Update check
|
|
elif [ "$1" = "info" ]; then
|
|
|
|
# CV - Current Version
|
|
PROGRAM_AC=$(echo ${PROGRAM_VERSION} | awk '{ print $1 }' | sed 's/[.]//g')
|
|
PROGRAM_LV=0
|
|
|
|
CheckUpdates
|
|
|
|
# Reset everything if we can't determine our current version or the latest
|
|
# available version (due lack of internet connectivity for example)
|
|
if [ "${PROGRAM_AC}" = "" -o "${PROGRAM_LV}" = "" ]; then
|
|
# Set both to safe values
|
|
PROGRAM_AC=0; PROGRAM_LV=0
|
|
fi
|
|
|
|
echo ""; echo " == ${WHITE}${PROGRAM_NAME}${NORMAL} =="
|
|
echo ""
|
|
echo " Version : ${PROGRAM_VERSION}"
|
|
echo -n " Status : "
|
|
if [ ${PROGRAM_LV} -eq 0 ]; then
|
|
echo "${RED}Unknown${NORMAL}";
|
|
elif [ ${PROGRAM_LV} -gt ${PROGRAM_AC} ]; then
|
|
echo "${YELLOW}Outdated${NORMAL}";
|
|
echo " Installed version : ${PROGRAM_AC}"
|
|
echo " Latest version : ${PROGRAM_LV}"
|
|
else
|
|
echo "${GREEN}Up-to-date${NORMAL}"
|
|
fi
|
|
echo " Release date : ${PROGRAM_RELEASE_DATE}"
|
|
echo " Update location : ${PROGRAM_WEBSITE}"
|
|
echo ""; echo ""
|
|
echo "${PROGRAM_COPYRIGHT}"
|
|
echo ""
|
|
|
|
# Check if there is an update, display status on screen and use exit code to tell status as well
|
|
elif [ "$1" = "check" ]; then
|
|
# CV - Current Version, LV - Latest Version
|
|
PROGRAM_CV=$(echo ${PROGRAM_VERSION} | awk '{ print $1 }' | sed 's/[.]//g')
|
|
PROGRAM_LV=0
|
|
CheckUpdates
|
|
if [ "${PROGRAM_CV}" = "" -o "${PROGRAM_LV}" = "" ]; then PROGRAM_AC=0; PROGRAM_LV=0; fi
|
|
if [ ${PROGRAM_LV} -eq 0 ]; then
|
|
echo "status=unknown";
|
|
ExitCustom 1
|
|
elif [ ${PROGRAM_LV} -gt ${PROGRAM_CV} ]; then
|
|
echo "status=outdated";
|
|
ExitCustom 1
|
|
else
|
|
echo "status=up-to-date"
|
|
ExitClean
|
|
fi
|
|
|
|
else
|
|
${ECHOCMD} "${RED}Error: ${WHITE}Unknown parameter $1.${NORMAL} Aborting.."
|
|
ExitFatal
|
|
fi
|
|
|
|
ExitClean
|
|
|
|
QUIET=1
|
|
|
|
# The End
|