mirror of
https://github.com/CISOfy/lynis.git
synced 2025-07-30 09:14:18 +02:00
Added IsOwnedByRoot function
This commit is contained in:
parent
098a2e3760
commit
c98b37955c
@ -48,6 +48,7 @@
|
|||||||
# IsRunning Check if a process is running
|
# IsRunning Check if a process is running
|
||||||
# InsertSection Insert a section block
|
# InsertSection Insert a section block
|
||||||
# InsertPluginSection Insert a section block for plugins
|
# InsertPluginSection Insert a section block for plugins
|
||||||
|
# IsOwnedByRoot Determine if file or directory is owned by root
|
||||||
# IsVerbose Check if --verbose is used
|
# IsVerbose Check if --verbose is used
|
||||||
# IsVirtualMachine Check if this system is a virtual machine
|
# IsVirtualMachine Check if this system is a virtual machine
|
||||||
# IsWorldExecutable Check if a file is world executable
|
# IsWorldExecutable Check if a file is world executable
|
||||||
@ -934,6 +935,44 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Name : IsOwnedByRoot
|
||||||
|
# Description : Check if file or directory is owned by root
|
||||||
|
# Returns : 0 (true), 1 (false), or 255 (unknown)
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
IsOwnedByRoot() {
|
||||||
|
local PERMS=""
|
||||||
|
if [ $# -eq 1 ]; then
|
||||||
|
FILE="$1"
|
||||||
|
case $OS in
|
||||||
|
"AIX")
|
||||||
|
if [ ! "${ISTATBINARY}" = "" ]; then PERMS=`${ISTATBINARY} ${FILE} | sed "s/Owner: //" | sed "s/[a-zA-Z() ]//g"`; fi
|
||||||
|
;;
|
||||||
|
"Linux")
|
||||||
|
if [ ! "${STATBINARY}" = "" ]; then PERMS=`${STATBINARY} -c "%u:%g" ${FILE}`; fi
|
||||||
|
;;
|
||||||
|
"FreeBSD")
|
||||||
|
if [ ! "${STATBINARY}" = "" ]; then PERMS=`${STATBINARY} -f "%u:%g" ${FILE}`; fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# Fallback with ls (for other platforms, or when a test did not reveal any output)
|
||||||
|
if [ "${PERMS}" = "" ]; then
|
||||||
|
PERMS=`ls -n ${FILE} | ${AWKBINARY} '{ print $3":"$4 }'`
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ReportException "IsOwnedByRoot" "Functions needs 1 argument"
|
||||||
|
return 255
|
||||||
|
fi
|
||||||
|
if [ "${PERMS}" = "0:0" ]; then
|
||||||
|
if IsDeveloper; then LogText "Debug: found incorrect file permissions on ${FILE}"; fi
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Name : IsVerbose
|
# Name : IsVerbose
|
||||||
# Description : Check if --verbose option is used to show more details on screen
|
# Description : Check if --verbose option is used to show more details on screen
|
||||||
|
Loading…
x
Reference in New Issue
Block a user