This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> EJS wrote: > > http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+login > > says that USER isn't in the initial environment. > > Maybe chrootshell should set it using > > getpwuid(getuid()) > > > > getpwuid(getuid()) did the trick! Thanks Dan. > > Can you submit a patch? > - Dan I ran into this problem recently also. Here is a modification to EJS's patch which works for me. Jim. -- Jim Lemke jim@wasabisystems.com Orillia, Ontario
--- chrootshell.c-orig 2006-03-10 19:07:22.000000000 -0500 +++ chrootshell.c 2006-03-20 13:27:31.000000000 -0500 @@ -126,16 +126,11 @@ int main(int argc, char **argv) #ifdef DEBUG_PRINTS fp = fopen("/var/log/chrootshell.log", "a"); #endif - user = getenv("USER"); - if (!user) - die("USER not set?!"); - logname = getenv("LOGNAME"); - if (logname && *logname && strcmp(user, logname)) - die("USER does not match LOGNAME\n"); /* Look up user in outer /etc/passwd */ - pw = getpwnam(user); + pw = getpwuid(getuid()); if (!pw) - die2("no such user %s\n", user); + die("could not get /etc/passwd info for user\n"); + user = logname = pw->pw_name; shell = strrchr(pw->pw_shell, '/'); if (!shell) die("shell contains no / ?");
-- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |