diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/ansible/shared.yml b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/ansible/shared.yml
index 58a7de295388..8d2d4c4081bb 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/ansible/shared.yml
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/ansible/shared.yml
@@ -5,7 +5,7 @@
# disruption = low
- name: "{{{ rule_title }}} - Get audit log file from /etc/audit/auditd.conf"
- ansible.builtin.command: grep -iw ^log_file /etc/audit/auditd.conf
+ ansible.builtin.command: grep -iE '^[[:space:]]*log_file\b' /etc/audit/auditd.conf
check_mode: False
failed_when: false
changed_when: false
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/bash/shared.sh b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/bash/shared.sh
index 0f74bf2767b3..0c4131a73216 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/bash/shared.sh
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/bash/shared.sh
@@ -1,8 +1,8 @@
# platform = multi_platform_all
-if LC_ALL=C grep -iw log_file /etc/audit/auditd.conf; then
- FILE=$(awk -F "=" '/^log_file/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
- chown root $FILE*
-else
- chown root /var/log/audit/audit.log*
+if LC_ALL=C grep -iqE '^[[:space:]]*log_file\b' /etc/audit/auditd.conf; then
+ FILE=$(awk -F "=" '/^[[:space:]]*log_file[[:space:]]*=/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
fi
+
+FILE=${FILE:-/var/log/audit/audit.log}
+chown root "$(dirname "$FILE")"/"${FILE}"*
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/oval/shared.xml b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/oval/shared.xml
index 15495801308c..7af6c35c5c0b 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/oval/shared.xml
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/oval/shared.xml
@@ -6,7 +6,7 @@
- {{% if "ol" in families or "rhel" in product %}}
+ {{% if "ol" in families or "rhel" in product or "ubuntu" in product %}}
@@ -18,17 +18,31 @@
{{% endif %}}
-
+
+ {{% if "ubuntu" in product %}}
+
+ {{% else %}}
+ {{% endif %}}
state_owner_not_root_var_log_audit
-
- {{% if "ol" in families or "rhel" in product %}}
+
+
+
+ ^
+
+
+
+ .*$
+
+
+
+ {{% if "ol" in families or "rhel" in product or "ubuntu" in product %}}
@@ -37,7 +51,12 @@
+ {{% if "ol" in families or "rhel" in product %}}
/var/log/audit/audit.log
+ {{% else %}}
+ /var/log/audit
+ ^audit\.log.*$
+ {{% endif %}}
state_owner_not_root_var_log_audit
{{% else %}}
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value.pass.sh b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value.pass.sh
index 4309570778f8..49b42c898a58 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value.pass.sh
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value.pass.sh
@@ -1,18 +1,15 @@
#!/bin/bash
+# platform = multi_platform_ol,multi_platform_rhel,multi_platform_almalinux,multi_platform_ubuntu
# packages = audit
sed -i "/^\s*log_file.*/d" /etc/audit/auditd.conf
echo "log_file = /var/log/audit/audit2.log" >> /etc/audit/auditd.conf
-if grep -iwq "log_file" /etc/audit/auditd.conf; then
- FILE=$(awk -F "=" '/^log_file/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
-else
- FILE="/var/log/audit/audit.log"
-fi
-
useradd testuser_123
-touch "/var/log/audit/audit2.log"
-touch "/var/log/audit/audit.log"
+mkdir -p /var/log/audit
+touch /var/log/audit/audit2.log
+touch /var/log/audit/audit2.log.1
+touch /var/log/audit/audit.log
-chown root $FILE*
-chown testuser_123 "/var/log/audit/audit.log"
+chown root /var/log/audit/audit2.log*
+chown testuser_123 /var/log/audit/audit.log
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value_default_file.pass.sh b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value_default_file.pass.sh
index 0c30387f65f3..6d54a15c40b8 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value_default_file.pass.sh
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/correct_value_default_file.pass.sh
@@ -1,10 +1,14 @@
#!/bin/bash
-# platform = multi_platform_ol,multi_platform_rhel,multi_platform_almalinux
+# platform = multi_platform_ol,multi_platform_rhel,multi_platform_almalinux,multi_platform_ubuntu
# packages = audit
sed -i "/^\s*log_file.*/d" /etc/audit/auditd.conf
+
useradd testuser_123
+mkdir -p /var/log/audit
+touch /var/log/audit/audit.log
+touch /var/log/audit/audit.log.1
touch "/var/log/audit/audit2.log"
-chown root "/var/log/audit/audit.log"
-chown testuser_123 "/var/log/audit/audit2.log"
+chown root /var/log/audit/audit.log*
+chown testuser_123 /var/log/audit/audit2.log
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value.fail.sh b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value.fail.sh
index d597ca07f139..677dedaba5f0 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value.fail.sh
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value.fail.sh
@@ -4,21 +4,17 @@
sed -i "/^\s*log_file.*/d" /etc/audit/auditd.conf
echo "log_file = /var/log/audit/audit2.log" >> /etc/audit/auditd.conf
-if grep -iwq "log_file" /etc/audit/auditd.conf; then
- FILE=$(awk -F "=" '/^log_file/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
-else
- FILE="/var/log/audit/audit.log"
-fi
+FILE="/var/log/audit/audit2.log"
useradd testuser_123
+mkdir -p /var/log/audit
touch "/var/log/audit/audit.log"
chown root "/var/log/audit/audit.log"
-{{% if product in ["ol8", "rhel8"] %}}
-touch $FILE
-chown testuser_123 $FILE
-{{% else %}}
-touch $FILE.1
-chown testuser_123 $FILE.1
+touch "$FILE"
+chown testuser_123 "$FILE"
+{{% if product not in ["ol8", "rhel8"] %}}
+touch "$FILE.1"
+chown testuser_123 "$FILE.1"
{{% endif %}}
diff --git a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value_default_file.fail.sh b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value_default_file.fail.sh
index 681f60bfb066..8269f6d88381 100644
--- a/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value_default_file.fail.sh
+++ b/linux_os/guide/auditing/auditd_configure_rules/file_ownership_var_log_audit_stig/tests/wrong_value_default_file.fail.sh
@@ -1,9 +1,11 @@
#!/bin/bash
-# platform = multi_platform_ol,multi_platform_rhel,multi_platform_almalinux
+# platform = multi_platform_ol,multi_platform_rhel,multi_platform_almalinux,multi_platform_ubuntu
# packages = audit
sed -i "/^\s*log_file.*/d" /etc/audit/auditd.conf
+
useradd testuser_123
+mkdir -p /var/log/audit
touch "/var/log/audit/audit2.log"
touch "/var/log/audit/audit.log"
diff --git a/shared/checks/oval/auditd_conf_log_file_not_set.xml b/shared/checks/oval/auditd_conf_log_file_not_set.xml
index dc7a5be9bf30..76e4fb67e96c 100644
--- a/shared/checks/oval/auditd_conf_log_file_not_set.xml
+++ b/shared/checks/oval/auditd_conf_log_file_not_set.xml
@@ -20,12 +20,12 @@
/etc/audit/auditd.conf
- ^(log_file\s*=\s*.*)$
+ ^\s*(log_file\s*=\s*.*)$
1
-
+