Skip to content

Commit 616d436

Browse files
authored
Merge pull request #13044 from mpurg/ubuntu_fix_groupownerships_stabilization
Align file_groupownership_system_commands_dirs with Ubuntu STIGs
2 parents d24fec3 + 9587191 commit 616d436

File tree

5 files changed

+58
-1
lines changed

5 files changed

+58
-1
lines changed

Diff for: linux_os/guide/system/permissions/files/permissions_within_important_dirs/file_groupownership_system_commands_dirs/bash/shared.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# platform = multi_platform_fedora,multi_platform_ol,multi_platform_rhel,multi_platform_sle,multi_platform_slmicro,multi_platform_ubuntu
1+
# platform = multi_platform_fedora,multi_platform_ol,multi_platform_rhel,multi_platform_sle,multi_platform_slmicro
22

33
for SYSCMDFILES in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
44
do
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# platform = multi_platform_ubuntu
2+
3+
for SYSCMDFILES in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
4+
do
5+
find -L $SYSCMDFILES ! -group root -type f ! -perm /2000 -exec chgrp root '{}' \;
6+
done
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<def-group>
2+
<definition class="compliance" id="file_groupownership_system_commands_dirs" version="1">
3+
{{{ oval_metadata("
4+
Checks that system commands in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
5+
are owned by root group.
6+
") }}}
7+
<criteria >
8+
<criterion test_ref="test_groupownership_system_commands_dirs" />
9+
</criteria>
10+
</definition>
11+
12+
<unix:file_test check="all" check_existence="none_exist" comment="system commands are owned by root" id="test_groupownership_system_commands_dirs" version="1">
13+
<unix:object object_ref="object_groupownership_system_commands_dirs" />
14+
</unix:file_test>
15+
16+
<unix:file_object comment="system commands files" id="object_groupownership_system_commands_dirs" version="1">
17+
<!-- Check that system commands within directories /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
18+
belong to group with gid 0 (root) -->
19+
<unix:path operation="pattern match">^\/s?bin|^\/usr\/s?bin|^\/usr\/local\/s?bin</unix:path>
20+
<unix:filename operation="pattern match">^.*$</unix:filename>
21+
<filter action="include">state_groupowner_system_commands_dirs_not_root_not_sgid</filter>
22+
</unix:file_object>
23+
24+
<unix:file_state id="state_groupowner_system_commands_dirs_not_root_not_sgid" version="1">
25+
<unix:group_id datatype="int" operation="not equal">0</unix:group_id>
26+
<unix:sgid datatype="boolean">false</unix:sgid>
27+
</unix:file_state>
28+
29+
</def-group>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
# platform = multi_platform_ubuntu
3+
4+
for SYSLIBDIRS in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
5+
do
6+
find -L $SYSLIBDIRS \! -group root -type f -exec chgrp root '{}' \;
7+
done
8+
9+
groupadd group_test
10+
11+
for TESTFILE in /bin/test_me /sbin/test_me /usr/bin/test_me /usr/sbin/test_me /usr/local/bin/test_me /usr/local/sbin/test_me
12+
do
13+
if [[ ! -f $TESTFILE ]]
14+
then
15+
touch $TESTFILE
16+
fi
17+
chgrp group_test $TESTFILE
18+
chmod g+s $TESTFILE
19+
done

Diff for: linux_os/guide/system/permissions/files/permissions_within_important_dirs/file_groupownership_system_commands_dirs/tests/system_account_groupownership.pass.sh

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/bash
2+
{{% if 'ubuntu' in product %}}
3+
# platform = Not Applicable
4+
{{% endif %}}
25

36
# gid of sshd group is 74
47
test_group="sshd"

0 commit comments

Comments
 (0)