The reconstructed evaluation script behind this rule's OVAL check(s) — every module a compound check combines, with this rule's own concrete values and DISA's SCC tool's real per-module mechanism curated from static teardown of SCC releases.
#!/bin/bash
# Reconstructed from oval:mil.disa.fso.rhel11:def:175
# System audit tool executables must be group-owned by root, bin, sys, or system.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
# check /sbin/auditctl is group-owned by root, bin, or sys
# file_object (file_test)
test_1() {
( [ "$(stat -c '%g' '/sbin/auditctl')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/auditctl')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/auditctl')" -eq 3 ] )
}
# check /sbin/auditd is group-owned by root, bin, or sys
# file_object (file_test)
test_2() {
( [ "$(stat -c '%g' '/sbin/auditd')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/auditd')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/auditd')" -eq 3 ] )
}
# check /sbin/ausearch is group-owned by root, bin, or sys
# file_object (file_test)
test_3() {
( [ "$(stat -c '%g' '/sbin/ausearch')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/ausearch')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/ausearch')" -eq 3 ] )
}
# check /sbin/aureport is group-owned by root, bin, or sys
# file_object (file_test)
test_4() {
( [ "$(stat -c '%g' '/sbin/aureport')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/aureport')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/aureport')" -eq 3 ] )
}
# check /sbin/autrace is group-owned by root, bin, or sys
# file_object (file_test)
test_5() {
( [ "$(stat -c '%g' '/sbin/autrace')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/autrace')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/autrace')" -eq 3 ] )
}
# check /sbin/audispd is group-owned by root, bin, or sys
# file_object (file_test)
test_6() {
( [ "$(stat -c '%g' '/sbin/audispd')" -eq 0 ] ) || ( [ "$(stat -c '%g' '/sbin/audispd')" -eq 1 ] ) || ( [ "$(stat -c '%g' '/sbin/audispd')" -eq 3 ] )
}
if ( test_1 && test_2 && test_3 && test_4 && test_5 && test_6 ); then
echo "PASS"
else
echo "FAIL"
fi Assessment Script Powered by AISandbox-executed
A standalone Shell script to assess this control automatically. Review before running it in your environment.
Syntax-checked and actually executed in an isolated sandbox (not the real system this checks) — confirmed to run without errors.
#!/bin/sh
# OVAL definition: oval:mil.disa.fso.rhel11:def:175
if [ ! -f "/sbin/auditctl" ]; then echo "PASS"; exit 0; fi
if [ -f "/sbin/auditctl" ]; then stat -c "%G" /sbin/auditctl | grep -qE "root|bin|sys" || { echo "FAIL"; exit 1; }; fi
if [ ! -f "/sbin/auditd" ]; then echo "PASS"; exit 0; fi
if [ -f "/sbin/auditd" ]; then stat -c "%G" /sbin/auditd | grep -qE "root|bin|sys" || { echo "FAIL"; exit 1; }; fi
if [ ! -f "/sbin/ausearch" ]; then echo "PASS"; exit 0; fi
if [ -f "/sbin/ausearch" ]; then stat -c "%G" /sbin/ausearch | grep -qE "root|bin|sys" || { echo "FAIL"; exit 1; }; fi
if [ ! -f "/sbin/aureport" ]; then echo "PASS"; exit 0; fi
if [ -f "/sbin/aureport" ]; then stat -c "%G" /sbin/aureport | grep -qE "root|bin|sys" || { echo "FAIL"; exit 1; }; fi
echo "PASS"; exit 0