diff --git a/src/parse_args.c b/src/parse_args.c index 00aeda764..819e432fe 100644 --- a/src/parse_args.c +++ b/src/parse_args.c @@ -129,6 +129,8 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp, int valid_flags, ch; int i, j; char *cp, **env_add, **settings; + const char *runas_user = NULL; + const char *runas_group = NULL; const char *debug_flags; int nenv = 0; int env_size = 32; @@ -282,8 +284,6 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp, SET(flags, MODE_SHELL); break; case 'U': - if ((getpwnam(optarg)) == NULL) - fatalx(_("unknown user: %s"), optarg); list_user = optarg; break; case 'u': diff --git a/src/sudo.c b/src/sudo.c index 0de32d4c1..e9eac66ca 100644 --- a/src/sudo.c +++ b/src/sudo.c @@ -94,7 +94,7 @@ struct plugin_container policy_plugin; struct plugin_container_list io_plugins; struct user_details user_details; -const char *list_user, *runas_user, *runas_group; /* extern for parse_args.c */ +const char *list_user; /* extern for parse_args.c */ static struct command_details command_details; static int sudo_mode; diff --git a/src/sudo.h b/src/sudo.h index 703e3980b..26c9025a2 100644 --- a/src/sudo.h +++ b/src/sudo.h @@ -214,7 +214,7 @@ bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd) int policy_init_session(struct command_details *details); int run_command(struct command_details *details); int os_init_common(int argc, char *argv[], char *envp[]); -extern const char *list_user, *runas_user, *runas_group; +extern const char *list_user; extern struct user_details user_details; /* sudo_edit.c */