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

Only check SUDO_USER if euid is 0

This commit is contained in:
Todd C. Miller 2016-07-31 18:47:36 -06:00
parent f85e95329f
commit 54efa54c0e

View File

@ -134,7 +134,7 @@ int
main(int argc, char *argv[])
{
struct sudoersfile *sp;
char *user, *editor, **editor_argv;
char *editor, **editor_argv;
int ch, oldlocale, editor_argc, exitcode = 0;
bool quiet, strict, oldperms;
const char *export_path;
@ -215,9 +215,11 @@ main(int argc, char *argv[])
/* Mock up a fake sudo_user struct. */
user_cmnd = user_base = "";
user = getenv("SUDO_USER");
if (user != NULL && *user != '\0')
sudo_user.pw = sudo_getpwnam(user);
if (geteuid() == 0) {
const char *user = getenv("SUDO_USER");
if (user != NULL && *user != '\0')
sudo_user.pw = sudo_getpwnam(user);
}
if (sudo_user.pw == NULL) {
if ((sudo_user.pw = sudo_getpwuid(getuid())) == NULL)
sudo_fatalx(U_("you do not exist in the %s database"), "passwd");