Re: [rfc] fcntl: Add F_GETOWNER_UIDS option

From: Cyrill Gorcunov
Date: Fri Mar 30 2012 - 10:40:44 EST


On Fri, Mar 30, 2012 at 09:12:19AM -0500, Serge Hallyn wrote:
...
> >
> > Yes, I wanna take a look on Eric's set first just to get right
> > "picture" of everything. And I wanted to find a minimal solution
> > with current kernel code base which could be extended in future.
> >
> > That said I guess the current init-ns-only approach should do the
> > trick for a while. And (thanks for pointing) I need to add a test
> > if a caller which tries to obtain uids has enought credentials
> > for that (probably CAP_FOWNER), right?
>
> Sorry, I'm not sure which caller you mean. Neither f_setown nor
> f_getown require privilege right now. Oh, you mean at restart?

I meant the dumper. Yes, at moment f_get/setown requires no privileges
but I'm not sure if uid/euid is same or less sensible information
than pid, that's why I though CAP_FOWNER might be worth to add, no?

> f_setown to someone else's uid/pid means you may cause a signal to
> be sent to them. So CAP_KILL might be good? You do through that
> signal get *some* info about the file writes, though not contents.
> So yeah, maybe (CAP_KILL|CAP_FOWNER).
...
> > I suspect operating with kuid's will be a way more easier.
>
> Yeah, I keep going back and forth on which makes more sense. But
> kuid's probably make more sense, even though they aren't what
> userspace in container will see. When you restore, the mapping
> will give userspace what it expects; and if you're going to
> restart in a container with a different mapping, then you'll
> have to convert the filesystem as well since its inodes will
> store kuids, so may as well also convert the kuids in the
> checkpoint image then.

Agreed (if only I'm not missimg somethig ;)

Cyrill
--
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/