From: Todd C. Miller Date: Sun, 25 Aug 1996 17:27:36 +0000 (+0000) Subject: added runas_homedir X-Git-Tag: SUDO_1_5_1~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=56405a97e65e0ffc006ba5446e6dbc26eef95c3c;p=sudo added runas_homedir --- diff --git a/sudo.c b/sudo.c index d298f0f4e..3897c21f4 100644 --- a/sudo.c +++ b/sudo.c @@ -150,6 +150,7 @@ char host[MAXHOSTNAMELEN + 1]; char *shost; char cwd[MAXPATHLEN + 1]; struct stat cmnd_st; +static char *runas_homedir = NULL; extern struct interface *interfaces; extern int num_interfaces; extern int printmatches; @@ -322,6 +323,11 @@ int main(argc, argv) /* become specified user or root */ set_perms(PERM_RUNAS); + + /* set $HOME for `sudo -s' */ + if ((sudo_mode & MODE_SHELL) && runas_homedir) + (void) sudo_setenv("HOME", runas_homedir); + #ifndef PROFILING if ((sudo_mode & MODE_BACKGROUND) && fork() > 0) { exit(0); @@ -896,7 +902,7 @@ void set_perms(perm) exit(1); } - (void) sudo_setenv("HOME", pw_ent->pw_dir); + runas_homedir = pw_ent->pw_dir; } break;