Re: [PATCH 12/18] shared mount handling: bind and rbind

Miklos Szeredi
2005-11-16T08:20:46Z

> > This is why we have "pivot_root()" and "chroot()", which can both be used
> > to do what you want to do. You mount the new root somewhere else, and then
> > you chroot (or pivot-root) to it. And THEN you do 'chdir("/")' to move the
> > cwd into the new root too (and only at that point have you "lost" the old
> > root - although you can actually get it back if you have some file
> > descriptor open to it).
>
> Wouldn't this constitute a security flaw?
>
> Shouldn't chroot jail you?

No, chroot should just change the root.

If you don't want to be able to get back the old root, just close all
file descriptors _in addition_ to chroot() and chdir().

Miklos