Date: Tue, 14 Nov 2000 05:02:11 -0600 (CST) From: Mike Meyer <mwm@mired.org> To: Lloyd Rennie <lloyd@vbc.net> Cc: questions@freebsd.org Subject: Re: chrooted shell accounts Message-ID: <14865.7091.555522.661128@guru.mired.org> In-Reply-To: <Pine.BSF.4.10.10011141006030.33726-100000@brunel.uk1.vbc.net> References: <14864.38419.48129.325993@guru.mired.org> <Pine.BSF.4.10.10011141006030.33726-100000@brunel.uk1.vbc.net>
index | next in thread | previous in thread | raw e-mail
Lloyd Rennie <lloyd@vbc.net> types:
> > True - but why isn't this a C program? It would be about the same
> > length as all these things, and remove one complication from the
> > system. If you wan to do a chroot as part of a shell script, try doing
> > the chroot in the wrapper, then running the shell script. Which
> > doesn't help with the problem, I know, but you asked for a simpler way
> > to do things.
>
> s'a good point.
[...]
> Replaced my derekshell bin with a new one as you suggested.
>
> void main (int argc, char *argv []) {
> system("cd /home/derek; /usr/sbin/chroot /home/derek /bin/csh");
> }
Actually, I was thinking of something more along the lines of:
#include <unistd.h>
#include <err.h>
void main(int argc, char **argv[], char **envp) {
errno = 0 ;
if (chdir("/home/derek") && chroot("/home/derek") && setuid(<derek's uid>))
execv("/bin/csh", argv, envp) ;
err(1, "failed to start");
}
> > I'd be interested to know where the message is coming from (is it
> > csh complaining that something is wrong, or chroot complaining that
> > something is wrong with /bin/csh).
> A good question. How the hell do I tell?
Well, you could invoke csh with a flag to make it more verbose. You
could try the C program I used, except check each function as it runs
instead of the entire chain - which allows you to finger the failing
function exactly.
<mike
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14865.7091.555522.661128>
