diff options
author | Michael Boelen <michael.boelen@cisofy.com> | 2019-12-13 14:34:56 +0300 |
---|---|---|
committer | Michael Boelen <michael.boelen@cisofy.com> | 2019-12-13 14:34:56 +0300 |
commit | fd84be485b39f49b411c4e9744864119be954d82 (patch) | |
tree | e48887830e860df1835caf7b7859cc4fd280693e /include/functions | |
parent | f00447fd1b5f340e78f5fd27d861089f6c48c8a7 (diff) |
Improved permission check for BSD systems
Diffstat (limited to 'include/functions')
-rw-r--r-- | include/functions | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/include/functions b/include/functions index 25a74552..9ed5fee7 100644 --- a/include/functions +++ b/include/functions @@ -1288,17 +1288,25 @@ # First try stat command LogText "Test: checking if file ${CHECKFILE} is ${CHECK_PERMISSION}" if [ -n "${STATBINARY}" ]; then - # busybox does not support format - if [ ${SHELL_IS_BUSYBOX} -eq 0 ]; then - DATA=$(${STATBINARY} --format=%a ${CHECKFILE}) - fi + + case ${OS} in + "*BSD") + DATA=$(${STATBINARY} -f "%OLp" ${CHECKFILE}) + ;; + *) + # busybox does not support format + if [ ${SHELL_IS_BUSYBOX} -eq 0 ]; then + DATA=$(${STATBINARY} --format=%a ${CHECKFILE}) + fi + ;; + esac fi # See if we can use the find binary if [ -z "${DATA}" ]; then case ${OS} in - "AIX") - Debug "Skipping find command, as AIX does not support -printf" + "AIX" | "*BSD") + Debug "Skipping find command, as this operating system does not support -printf parameter" ;; *) # Only use find when OS is NOT AIX and binaries are NOT busybox |