_ATTRIBUTE=$1
_FORMAT_STR=$2
_SHOULD_BE=$3
- _ACTUAL_VALUE=$(stat --format="${_FORMAT_STR}" ${_PATH_ABS})
+ _MODIFIER=$4
+ _ACTUAL_VALUE=$(stat --format="${_FORMAT_STR}" ${_PATH_ABS} ${_MODIFIER})
if [ "${_ACTUAL_VALUE}" != "${_SHOULD_BE}" ]; then
prefixed_msg "Bad ${_ATTRIBUTE}: ${_PATH_ABS} is ${_ACTUAL_VALUE}, should be ${_SHOULD_BE}"
false
else
_EXPECTED_OWNERSHIP='root:root'
fi
+ _PIPE_FETCH_X_BITS='| cut -c 4,7,10'
if [ 'regular file' = "${_TYPE}" ]; then
- _EXPECTED_PERMISSIONS=$(stat --format='%A' --dereference ${_PATH_REL} | cut -c 4,7,10)
+ _EXPECTED_PERMISSIONS=$(stat --format='%A' --dereference ${_PATH_REL} ${_PIPE_FETCH_X_BITS})
fi
set +e
_compare_stat 'ownership' '%U:%G' "${_EXPECTED_OWNERSHIP}";
- _compare_stat 'x permissions' '%A | cut -c 4,7,10' "${_EXPECTED_PERMISSIONS}";
+ _compare_stat 'x permissions' '%A' "${_EXPECTED_PERMISSIONS}" "${_PIPE_FETCH_X_BITS}";
set -e
done
prefixed_msg_exit