/* The shell to run if none is given in the user's passwd entry. */
-#define DEFAULT_SHELL "/bin/sh"
#define DEFAULT_USER "root"
//#define SYSLOG_SUCCESS
}
/* get user if specified */
- if ( optind < argc )
+ if ( optind < argc )
opt_username = argv [optind++];
if ( optind < argc )
opt_args = argv + optind;
-
+
#if defined( SYSLOG_SUCCESS ) || defined( SYSLOG_FAILURE )
-#ifdef CONFIG_FEATURE_U_W_TMP
+#ifdef CONFIG_FEATURE_UTMP
/* The utmp entry (via getlogin) is probably the best way to identify
the user, especially if someone su's from a su-shell. */
old_user = getlogin ( );
openlog ( bb_applet_name, 0, LOG_AUTH );
#endif
-
+
pw = getpwnam ( opt_username );
if ( !pw )
bb_error_msg_and_die ( "user %s does not exist", opt_username );
-
+
/* Make sure pw->pw_shell is non-NULL. It may be NULL when NEW_USER
is a username that is retrieved via NIS (YP), but that doesn't have
a default shell listed. */
if ( !opt_shell )
opt_shell = pw->pw_shell;
- change_identity ( pw );
+ change_identity ( pw );
setup_environment ( opt_shell, opt_loginshell, !opt_preserve, pw );
- run_shell ( opt_shell, opt_loginshell, opt_command, (const char**)opt_args
#ifdef CONFIG_SELINUX
- , 0
+ set_current_security_context(NULL);
#endif
- );
-
+ run_shell ( opt_shell, opt_loginshell, opt_command, (const char**)opt_args);
+
return EXIT_FAILURE;
}