Re: [PATCH v3 4/4] Allow unprivileged chroot when safe

From: Andy Lutomirski
Date: Mon Jan 30 2012 - 18:15:27 EST


On Mon, Jan 30, 2012 at 3:10 PM, Colin Walters <walters@xxxxxxxxxx> wrote:
> On Mon, 2012-01-30 at 14:43 -0800, Andy Lutomirski wrote:
>
>> You don't need a setuid binary.  Just have an initscript set up the bind mounts.
>
> The point is that dchroot is already setuid root, and calls chroot, so
> it gains nothing from the ability to do it unprivileged.
>
> (And wow, I just looked at the source, it's a setuid C++ binary!  Using
> boost.  Ugh...)

Exactly!

You can accomplish the same thing *without a scary setuid binary*.
The use case doesn't even need a new complicated userspace tool. You
would set up an initscript or some /etc/fstab entries and then:

no_new_privs chroot /var/chroot/ubuntu_oneiric/ /bin/bash

et voila. (Where no_new_privs would be a really simple tool that does
PR_SET_NO_NEW_PRIVS and then execs its argument.)

Maybe it's just me, but I think this is useful and I would, in fact,
use it in my regular workflow.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/