Re: For review: user_namespace(7) man page

From: Michael Kerrisk (man-pages)
Date: Thu Sep 11 2014 - 10:47:29 EST


Hi Andy,

On 09/09/2014 12:26 PM, Andy Lutomirski wrote:
> On Tue, Sep 9, 2014 at 9:05 AM, Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote:
>>
>> We may also want to discuss the specific restrictions on chroot.
>>
>> The text about chroot at least gives people a strong hint that the
>> chroot rules are affected by user namespaces.
>>
>> The restrictions that we have settled on to avoid chroot being a problem
>> are the creator of a user namespace must not be chrooted in their
>> current mount namespace, and the creator of the user namespace must not
>> be threaded.
>>
>> Andy can you check me on this it looks like unshare is currently buggy
>> in that it will allow a threaded application to create a user namespace.
>
> I think it's this code in unshare:
>
> /*
> * If unsharing a user namespace must also unshare the thread.
> */
> if (unshare_flags & CLONE_NEWUSER)
> unshare_flags |= CLONE_THREAD | CLONE_FS;
>
> I suppose that this should be documented.
>
> CLONE_FS prevents the chroot from leaking out of the namespace. (But
> see the other thread that I'm about to start...)

So, in the current draft of the setns(2) page, there is

CLONE_NEWNS
...
Since Linux 3.9, CLONE_NEWUSER also automatically implies
CLONE_FS.

Does that cover your point? Or did you mean that more needs to be said?

Thanks,

Michael

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
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/