2003-07-04 02:57:33

by Dan Kegel

[permalink] [raw]
Subject: chroot bug if arg not absolute path?

On my Debian 3.0 system running the 2.4.18 kernel, I
ran into a funny problem: /usr/sbin/chroot, or the chroot()
system call followed by the chdir() system call,
seem to work if their argument is not an absolute path;
that is, scandir("/bin") can see the files in the jail,
but execlp("/bin/sh", "/bin/sh", 0) fails to find the /bin/sh
in the jail, and sets errno to ENOENT.

Is this a bug, or do I have a screw loose behind the wheel?
- Dan

--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


2003-07-04 03:03:33

by Dan Kegel

[permalink] [raw]
Subject: Re: chroot bug if arg not absolute path?

Dan Kegel wrote:
> On my Debian 3.0 system running the 2.4.18 kernel, I
> ran into a funny problem: /usr/sbin/chroot, or the chroot()
> system call followed by the chdir() system call,
> seem to work if their argument is not an absolute path;
> that is, scandir("/bin") can see the files in the jail,
> but execlp("/bin/sh", "/bin/sh", 0) fails to find the /bin/sh
> in the jail, and sets errno to ENOENT.
>
> Is this a bug, or do I have a screw loose behind the wheel?

The latter. Ignore me.
- Dan


--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045