version 1.4, 1996/06/26 05:39:34 |
version 1.5, 1996/07/22 01:58:55 |
|
|
environ = cleanenv; |
environ = cleanenv; |
(void)setenv("PATH", _PATH_DEFPATH, 1); |
(void)setenv("PATH", _PATH_DEFPATH, 1); |
(void)setenv("TERM", p, 1); |
(void)setenv("TERM", p, 1); |
|
|
|
seteuid(pwd->pw_uid); |
|
setegid(pwd->pw_gid); |
if (chdir(pwd->pw_dir) < 0) { |
if (chdir(pwd->pw_dir) < 0) { |
fprintf(stderr, "su: no directory\n"); |
fprintf(stderr, "su: no directory\n"); |
exit(1); |
exit(1); |
} |
} |
|
seteuid(0); |
|
setegid(0); /* XXX use a saved gid instead? */ |
} |
} |
if (asthem || pwd->pw_uid) |
if (asthem || pwd->pw_uid) |
(void)setenv("USER", pwd->pw_name, 1); |
(void)setenv("USER", pwd->pw_name, 1); |