Note that logging unknown usernames may be a security issue if an user enter
her password instead of her login name.
.RE
+.PP
+\fBENV_PATH\fR (string)
+.RS 4
+If set, it will be used to define the PATH environment variable when a regular
+user login. The default value is "/usr/local/bin:/bin:/usr/bin".
+.RE
+.PP
+\fBENV_ROOTPATH\fR (string), \fBENV_SUPATH\fR (string)
+.RS 4
+If set, it will be used to define the PATH environment variable when the superuser
+login. The default value is "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin".
+.RE
.SH FILES
.nf
.I /var/run/utmp
}
setenv("HOME", pwd->pw_dir, 0); /* legal to override */
- setenv("PATH", pwd->pw_uid ? _PATH_DEFPATH : _PATH_DEFPATH_ROOT, 1);
setenv("SHELL", pwd->pw_shell, 1);
setenv("TERM", termenv, 1);
+ if (pwd->pw_uid)
+ setenv("PATH", getlogindefs_str("ENV_PATH", _PATH_DEFPATH), 1);
+ else {
+ const char *x = getlogindefs_str("ENV_ROOTPATH", NULL);
+ if (!x)
+ x = getlogindefs_str("ENV_SUPATH", _PATH_DEFPATH_ROOT);
+ setenv("PATH", x, 1);
+ }
+
/* mailx will give a funny error msg if you forget this one */
len = snprintf(tmp, sizeof(tmp), "%s/%s", _PATH_MAILDIR, pwd->pw_name);
if (len > 0 && (size_t) len + 1 <= sizeof(tmp))