2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 01:49:11 +00:00

Check JSON output of sudoers test files too.

This commit is contained in:
Todd C. Miller 2015-08-06 10:57:42 -06:00
parent 4abc13bfca
commit 4501b7416a
17 changed files with 820 additions and 0 deletions

View File

@ -381,6 +381,7 @@ check: $(TEST_PROGS) visudo testsudoers
base=`basename $$t .in`; \
out="regress/sudoers/$${base}.out"; \
toke="regress/sudoers/$${base}.toke"; \
json="regress/sudoers/$${base}.json"; \
./testsudoers -dt <$$t >$$out 2>$$toke || true; \
if cmp $$out $(srcdir)/$$out.ok >/dev/null; then \
passed=`expr $$passed + 1`; \
@ -400,6 +401,16 @@ check: $(TEST_PROGS) visudo testsudoers
diff $$toke $(srcdir)/$$toke.ok || true; \
fi; \
total=`expr $$total + 1`; \
./visudo -f $$t -x - >$$json 2>/dev/null || true; \
total=`expr $$total + 1`; \
if cmp $$json $(srcdir)/$$json.ok >/dev/null; then \
passed=`expr $$passed + 1`; \
echo "$$dir/$$base (parse): OK"; \
else \
failed=`expr $$failed + 1`; \
echo "$$dir/$$base: FAIL"; \
diff $$json $(srcdir)/$$json.ok || true; \
fi; \
done; \
echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \
if test $$failed -ne 0; then \

View File

@ -0,0 +1,118 @@
{
"User_Specs": [
{
"User_List": [
{ "username": "user1" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "log_input": true },
{ "log_output": true }
],
"Commands": [
{ "command": "\/usr\/bin\/su -" }
]
}
]
},
{
"User_List": [
{ "username": "user1" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "log_input": false },
{ "log_output": false }
],
"Commands": [
{ "command": "\/usr\/bin\/id" }
]
}
]
},
{
"User_List": [
{ "username": "user2" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "authenticate": false },
{ "noexec": true },
{ "setenv": true }
],
"Commands": [
{ "command": "\/usr\/bin\/vi" }
]
}
]
},
{
"User_List": [
{ "username": "user2" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "authenticate": true },
{ "noexec": false },
{ "setenv": false }
],
"Commands": [
{ "command": "\/usr\/bin\/echo" }
]
}
]
},
{
"User_List": [
{ "username": "user3" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "send_mail": true }
],
"Commands": [
{ "command": "\/bin\/sh" }
]
}
]
},
{
"User_List": [
{ "username": "user3" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "send_mail": false }
],
"Commands": [
{ "command": "\/usr\/bin\/id" }
]
}
]
}
]
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,38 @@
{
"Command_Aliases": {
"LS": [
{
"command": "\/bin\/ls",
"sha224": "d06a2617c98d377c250edd470fd5e576327748d82915d6e33b5f8db1"
}
],
"SH": [
{
"command": "\/bin\/sh",
"sha256": "hOtoe\/iK6SlGg7w4BfZBBdSsXjUmTJ5+ts51yjh7vkM="
}
]
},
"User_Specs": [
{
"User_List": [
{ "username": "millert" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Commands": [
{ "cmndalias": "LS" },
{ "cmndalias": "SH" },
{
"command": "\/bin\/kill",
"sha512": "srzYEQ2aqzm+it3f74opTMkIImZRLxBARVpb0g9RSouJYdLt7DTRMEY4Ry9NyaOiDoUIplpNjqYH0JMYPVdFnw"
}
]
}
]
}
]
}

View File

@ -0,0 +1,19 @@
{
"User_Specs": [
{
"User_List": [
{ "username": "user" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Commands": [
{ "command": "sudoedit \/etc\/motd" }
]
}
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"Command_Aliases": {
"EDIT": [
{ "command": "sudoedit \/etc\/motd" }
]
},
"User_Specs": [
{
"User_List": [
{ "username": "user" }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Commands": [
{ "cmndalias": "EDIT" }
]
}
]
}
]
}

View File

@ -0,0 +1,403 @@
{
"Defaults": [
{
"Binding": [
{ "hostname": "somehost" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "hostname": "quoted\"" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "you" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "us\"" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "%them" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "%: non UNIX 0 c" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "+net" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "someone" }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "username": "some one" }
],
"Options": [
{ "set_home": true }
]
}
],
"User_Aliases": {
"UA1": [
{ "username": "foo" }
],
"UA10": [
{ "nonunixgroup": "C\/non\"UNIX\"0 c" }
],
"UA11": [
{ "nonunixgroup": "C\/non_UNIX_0 c" }
],
"UA12": [
{ "nonunixgroup": "C\/non\\'UNIX_3 c" }
],
"UA2": [
{ "username": "foo.bar" }
],
"UA3": [
{ "username": "foo\"" }
],
"UA4": [
{ "username": "foo:bar" }
],
"UA5": [
{ "username": "foo:bar\"" }
],
"UA6": [
{ "usergroup": "baz" }
],
"UA7": [
{ "usergroup": "baz.biz" }
],
"UA8": [
{ "nonunixgroup": "C\/non UNIX 0 c" }
],
"UA9": [
{ "nonunixgroup": "C\/non\\'UNIX\\'1 c" }
]
},
"Runas_Aliases": {
"RA1": [
{ "username": "foo" }
],
"RA2": [
{ "username": "foo\"" }
],
"RA3": [
{ "username": "foo:bar" }
],
"RA4": [
{ "username": "foo:bar\"" }
]
},
"User_Specs": [
{
"User_List": [
{ "username": "foo" }
],
"Host_List": [
{ "hostname": "hosta" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "username": "foo.bar" }
],
"Host_List": [
{ "hostname": "hostb" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "username": "foo\"" }
],
"Host_List": [
{ "hostname": "hostc" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "username": "foo:bar" }
],
"Host_List": [
{ "hostname": "hostd" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "username": "foo:bar\"" }
],
"Host_List": [
{ "hostname": "hoste" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "usergroup": "baz" }
],
"Host_List": [
{ "hostname": "hosta" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "usergroup": "baz.biz" }
],
"Host_List": [
{ "hostname": "hostb" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "nonunixgroup": "C\/non UNIX 0 c" }
],
"Host_List": [
{ "hostname": "hostc" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "nonunixgroup": "C\/non\\'UNIX\\'1 c" }
],
"Host_List": [
{ "hostname": "hostd" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "nonunixgroup": "C\/non\"UNIX\"0 c" }
],
"Host_List": [
{ "hostname": "hoste" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "nonunixgroup": "C\/non_UNIX_0 c" }
],
"Host_List": [
{ "hostname": "hostf" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "nonunixgroup": "C\/non\\'UNIX_3 c" }
],
"Host_List": [
{ "hostname": "hostg" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "netgroup": "netgr" }
],
"Host_List": [
{ "hostname": "hosth" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "username": "root" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
}
]
}

View File

@ -0,0 +1,45 @@
{
"Defaults": [
{
"Binding": [
{ "useralias": "FOO" }
],
"Options": [
{ "env_reset": true }
]
},
{
"Binding": [
{ "username": "foo" },
{ "username": "bar" }
],
"Options": [
{ "env_reset": true }
]
},
{
"Binding": [
{ "username": "foo" },
{ "username": " bar" }
],
"Options": [
{ "env_reset": true }
]
},
{
"Binding": [
{ "username": "foo" },
{ "username": "bar" }
],
"Options": [
{ "env_reset": true }
]
}
],
"User_Aliases": {
"FOO": [
{ "username": "foo" },
{ "username": "bar" }
]
}
}

View File

@ -0,0 +1,158 @@
{
"Defaults": [
{
"Binding": [
{ "userid": 123 }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "userid": 123 }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "userid": 123 }
],
"Options": [
{ "set_home": true }
]
},
{
"Binding": [
{ "userid": 123 }
],
"Options": [
{ "set_home": true }
]
}
],
"User_Specs": [
{
"User_List": [
{ "userid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "userid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "userid": 0 }
],
"runasgroups": [
{ "usergroup": "#0" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "userid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "userid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"runasusers": [
{ "userid": 0 }
],
"runasgroups": [
{ "usergroup": "#0" }
],
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "usergid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
},
{
"User_List": [
{ "usergid": 0 }
],
"Host_List": [
{ "hostalias": "ALL" }
],
"Cmnd_Specs": [
{
"Options": [
{ "setenv": true }
],
"Commands": [
{ "cmndalias": "ALL" }
]
}
]
}
]
}

View File

@ -0,0 +1,2 @@
{
}