in reply to wrapping any given shell
If that wouldn't work for you and you really don't want to write a simple shell (which would amount to a bunch or fork's and exec's, really); you could try to write a daemon that would run and when a specified user logged in, it would dup() his STDIN to a file. (Note: the following code does not do this, but is an example of dup() ).@users = qw(fred wilma barney); #watch these users foreach $user (@users) { open(LOG,">>$user.history"); open(HSTRY,"/$user/.bash_history"); while(<HSTRY>) { print LOG $_; } }
But, again, you would have to make that a daemon that would watch people logging in, grab their username, expect the username, and then permanently dup() their STDIN.open(LOG, ">>/tmp/$user.logfile"); open(STDIN, ">&LOG");
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: wrapping any given shell
by dkubb (Deacon) on Feb 07, 2001 at 10:49 UTC |