summaryrefslogtreecommitdiffstats
path: root/plugins/sudoers/regress/testsudoers/test31.sh
blob: a40906decbfbbcc78d338e3fb9ea045dfb48551b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/sh
#
# Exercise "sudo -U user -l [command]"
#

: ${TESTSUDOERS=testsudoers}

exec 2>&1

status=0

echo "'sudo -U root -l' with no matching rules"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
root ALL = ALL
EOF

echo ""
echo "'sudo -U root -l' with a matching ALL=ALL rule"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
admin ALL = ALL
EOF

echo ""
echo "'sudo -U root -l' with a matching list rule"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
admin ALL = NOPASSWD: list
EOF

echo ""
echo "'sudo -U root -l' without a matching list rule"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
admin ALL = (operator) list
EOF

echo ""
echo "'sudo -U root -l' with a negated list rule"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
admin ALL = !list
EOF

echo ""
echo "'sudo -U root -l' with a list rule that is later negated"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin <<'EOF'
admin ALL = NOPASSWD: list, !list
EOF

echo ""
echo "'sudo -l command' with a matching command"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -l admin /bin/ls <<'EOF'
admin ALL = /bin/ls
EOF

echo ""
echo "'sudo -l command' without a matching command"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -l admin /usr/bin/id <<'EOF'
admin ALL = /bin/ls
EOF

echo ""
echo "'sudo -U root -l command' without list privileges"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin /bin/ls <<'EOF'
root ALL = ALL
admin ALL = /usr/bin/id
EOF

echo ""
echo "'sudo -U root -l command' with list privileges"
$TESTSUDOERS -p ${TESTDIR}/passwd -P ${TESTDIR}/group -L root admin /bin/ls <<'EOF'
root ALL = ALL
admin ALL = list
EOF