mirror of https://github.com/CISOfy/lynis.git
commit
cad55d8bec
|
@ -1282,6 +1282,9 @@
|
|||
CHECK_PERMISSION=$(echo "-${CHECK_PERMISSION}" | ${AWKBINARY} '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o",k)}')
|
||||
fi
|
||||
|
||||
# Add leading zeros if necessary
|
||||
CHECK_PERMISSION=$(echo "${CHECK_PERMISSION}" | ${AWKBINARY} '{printf "%03d",$1}')
|
||||
|
||||
# First try stat command
|
||||
LogText "Test: checking if file ${CHECKFILE} is ${CHECK_PERMISSION}"
|
||||
if [ -n "${STATBINARY}" ]; then
|
||||
|
@ -1300,7 +1303,11 @@
|
|||
*)
|
||||
# Only use find when OS is NOT AIX and binaries are NOT busybox
|
||||
if [ ${SHELL_IS_BUSYBOX} -eq 0 ]; then
|
||||
DATA=$(${FINDBINARY} ${CHECKFILE} -printf "%m")
|
||||
if [ -d ${CHECKFILE} ]; then
|
||||
DATA=$(${FINDBINARY} ${CHECKFILE} -maxdepth 0 -printf "%m")
|
||||
else
|
||||
DATA=$(${FINDBINARY} ${CHECKFILE} -printf "%m")
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
@ -1318,13 +1325,16 @@
|
|||
|
||||
# Convert permissions to octal when needed
|
||||
case ${DATA} in
|
||||
"r"|"w"|"x"|"-")
|
||||
[-r][-w][-x][-r][-w][-x][-r][-w][-x] )
|
||||
LogText "Converting value ${DATA} to octal"
|
||||
DATA=$(echo ${DATA} | ${AWKBINARY} '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o",k)}')
|
||||
if [ "${DATA}" = "0" ]; then DATA="000"; fi
|
||||
# add a dummy character as first character so it looks like output is a normal file
|
||||
DATA=$(echo "-${DATA}" | ${AWKBINARY} '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o",k)}')
|
||||
;;
|
||||
esac
|
||||
|
||||
# Add leading zeros if necessary
|
||||
DATA=$(echo "${DATA}" | ${AWKBINARY} '{printf "%03d",$1}')
|
||||
|
||||
if [ -n "${DATA}" ]; then
|
||||
if [ "${DATA}" = "${CHECK_PERMISSION}" ]; then
|
||||
LogText "Outcome: correct permissions (${DATA})"
|
||||
|
|
Loading…
Reference in New Issue