xref: /freebsd/tests/sys/mac/do/valid_configs.sh (revision cba191e291c17b32247e12d6f94dcde56994bfe6)
1*cba191e2SOlivier Certner#!/usr/bin/env atf-sh
2*cba191e2SOlivier Certner#
3*cba191e2SOlivier Certner# Copyright (c) 2026, The FreeBSD Foundation
4*cba191e2SOlivier Certner#
5*cba191e2SOlivier Certner# This software was developed by Olivier Certner <olce@FreeBSD.org> at
6*cba191e2SOlivier Certner# Kumacom SARL under sponsorship from the FreeBSD Foundation.
7*cba191e2SOlivier Certner
8*cba191e2SOlivier Certneratf_test_case rule_uid_to_any
9*cba191e2SOlivier Certnerrule_uid_to_any_head()
10*cba191e2SOlivier Certner{
11*cba191e2SOlivier Certner    atf_set descr "Single \"to any\" rule"
12*cba191e2SOlivier Certner}
13*cba191e2SOlivier Certnerrule_uid_to_any_body()
14*cba191e2SOlivier Certner{
15*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>any"
16*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>any"
17*cba191e2SOlivier Certner}
18*cba191e2SOlivier Certner
19*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid
20*cba191e2SOlivier Certnerrule_uid_to_uid_head()
21*cba191e2SOlivier Certner{
22*cba191e2SOlivier Certner    atf_set descr "Single \"to UID\" rule"
23*cba191e2SOlivier Certner}
24*cba191e2SOlivier Certnerrule_uid_to_uid_body()
25*cba191e2SOlivier Certner{
26*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=0"
27*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=0"
28*cba191e2SOlivier Certner}
29*cba191e2SOlivier Certner
30*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_any
31*cba191e2SOlivier Certnerrule_uid_to_uid_any_head()
32*cba191e2SOlivier Certner{
33*cba191e2SOlivier Certner    atf_set descr "Single \"to UID any\" rule"
34*cba191e2SOlivier Certner}
35*cba191e2SOlivier Certnerrule_uid_to_uid_any_body()
36*cba191e2SOlivier Certner{
37*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=any"
38*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=any"
39*cba191e2SOlivier Certner}
40*cba191e2SOlivier Certner
41*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_star
42*cba191e2SOlivier Certnerrule_uid_to_uid_star_head()
43*cba191e2SOlivier Certner{
44*cba191e2SOlivier Certner    atf_set descr "Single \"to any (with '*')\" rule"
45*cba191e2SOlivier Certner}
46*cba191e2SOlivier Certnerrule_uid_to_uid_star_body()
47*cba191e2SOlivier Certner{
48*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=*"
49*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=*"
50*cba191e2SOlivier Certner}
51*cba191e2SOlivier Certner
52*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_gid
53*cba191e2SOlivier Certnerrule_uid_to_uid_gid_head()
54*cba191e2SOlivier Certner{
55*cba191e2SOlivier Certner    atf_set descr "Single \"to UID and GID\" rule"
56*cba191e2SOlivier Certner}
57*cba191e2SOlivier Certnerrule_uid_to_uid_gid_body()
58*cba191e2SOlivier Certner{
59*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0"
60*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0"
61*cba191e2SOlivier Certner}
62*cba191e2SOlivier Certner
63*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_gid_optional_sgid
64*cba191e2SOlivier Certnerrule_uid_to_uid_gid_optional_sgid_head()
65*cba191e2SOlivier Certner{
66*cba191e2SOlivier Certner    atf_set descr "Single \"to UID, GID and \
67*cba191e2SOlivier Certneroptional supplementary group rule\" rule"
68*cba191e2SOlivier Certner}
69*cba191e2SOlivier Certnerrule_uid_to_uid_gid_optional_sgid_body()
70*cba191e2SOlivier Certner{
71*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,+gid=0"
72*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,+gid=0"
73*cba191e2SOlivier Certner}
74*cba191e2SOlivier Certner
75*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_gid_mandatory_sgid
76*cba191e2SOlivier Certnerrule_uid_to_uid_gid_mandatory_sgid_head()
77*cba191e2SOlivier Certner{
78*cba191e2SOlivier Certner    atf_set descr "Single \"to UID, GID and \
79*cba191e2SOlivier Certnermandatory supplementary group\" rule"
80*cba191e2SOlivier Certner}
81*cba191e2SOlivier Certnerrule_uid_to_uid_gid_mandatory_sgid_body()
82*cba191e2SOlivier Certner{
83*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,!gid=0"
84*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,!gid=0"
85*cba191e2SOlivier Certner}
86*cba191e2SOlivier Certner
87*cba191e2SOlivier Certneratf_test_case rule_uid_to_uid_gid_excluded_sgid
88*cba191e2SOlivier Certnerrule_uid_to_uid_gid_excluded_sgid_head()
89*cba191e2SOlivier Certner{
90*cba191e2SOlivier Certner    atf_set descr "Single \"to UID, GID and excluded supplementary group\" rule"
91*cba191e2SOlivier Certner}
92*cba191e2SOlivier Certnerrule_uid_to_uid_gid_excluded_sgid_body()
93*cba191e2SOlivier Certner{
94*cba191e2SOlivier Certner    sysctl_set_and_check_rules "uid=1001>uid=0,gid=0,-gid=0"
95*cba191e2SOlivier Certner    sysctl_set_and_check_rules "gid=1001>uid=0,gid=0,-gid=0"
96*cba191e2SOlivier Certner}
97*cba191e2SOlivier Certner
98*cba191e2SOlivier Certneratf_test_case rules_uid_to_uid
99*cba191e2SOlivier Certnerrules_uid_to_uid_head()
100*cba191e2SOlivier Certner{
101*cba191e2SOlivier Certner    atf_set descr "Multiple \"to UID\" rules"
102*cba191e2SOlivier Certner}
103*cba191e2SOlivier Certnerrules_uid_to_uid_body() {
104*cba191e2SOlivier Certner    sysctl_set_and_check_rules \
105*cba191e2SOlivier Certner        "uid=1001>uid=0;uid=1001>uid=0,gid=0,!gid=0,+gid=5;gid=1001>gid=5"
106*cba191e2SOlivier Certner}
107*cba191e2SOlivier Certner
108*cba191e2SOlivier Certneratf_test_case rules_uid_to_uid_with_spaces
109*cba191e2SOlivier Certnerrules_uid_to_uid_with_spaces_head()
110*cba191e2SOlivier Certner{
111*cba191e2SOlivier Certner    atf_set descr "Multiple \"to UID\" rules with extra spaces"
112*cba191e2SOlivier Certner}
113*cba191e2SOlivier Certnerrules_uid_to_uid_with_spaces_body()
114*cba191e2SOlivier Certner{
115*cba191e2SOlivier Certner    sysctl_set_and_check_rules \
116*cba191e2SOlivier Certner        "uid=1001 > uid=0; uid=1001>uid=0, gid = 0, !gid =0,+gid =5;  \
117*cba191e2SOlivier Certnergid= 1001 >gid =5"
118*cba191e2SOlivier Certner}
119*cba191e2SOlivier Certner
120*cba191e2SOlivier Certner
121*cba191e2SOlivier Certneratf_init_test_cases()
122*cba191e2SOlivier Certner{
123*cba191e2SOlivier Certner    . $(atf_get_srcdir)/common.sh
124*cba191e2SOlivier Certner
125*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_any
126*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid
127*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_any
128*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_star
129*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_gid
130*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_gid_optional_sgid
131*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_gid_mandatory_sgid
132*cba191e2SOlivier Certner    atf_add_test_case rule_uid_to_uid_gid_excluded_sgid
133*cba191e2SOlivier Certner    atf_add_test_case rules_uid_to_uid
134*cba191e2SOlivier Certner    atf_add_test_case rules_uid_to_uid_with_spaces
135*cba191e2SOlivier Certner}
136