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.stig.solaris11:def:71
# Groups assigned to users must exist in the /etc/group file.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
# Groups listed in the /etc/passwd file must exist.
# password_object (password_test)
test_1() {
[ "$(getent passwd '^[^-+].*$' | cut -d: -f4)" = "$(sed -En 's/^[^:]+:[^:]*:(\d+):/\1/p' '/etc/group')" ]
}
if test_1; 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.stig.solaris11:def:71
if [ ! -f "/etc/group" ]; then echo "PASS"; exit 0; fi
groups=$(cat /etc/group | awk -F: '{print $1}')
users=$(grep -E "^[^:]+:" /etc/passwd | awk -F: '{print $1}')
for user in $users; do
gid=$(grep "^$user:" /etc/passwd | awk -F: '{print $3}')
if [ ! -z "$gid" ]; then
gids=$(grep -E ":[[0-9]+:" /etc/group | awk -F: '{print $2}')
if [ ! "$gid" == "$gids" ]; then
echo "FAIL"; exit 1
fi
fi
done
echo "PASS"; exit 0