Cc: Serge E. Hallyn <serge@...>, Eric W. Biederman <ebiederm@...>, Andrew Morton <akpm@...>, <linux-kernel@...>, Balbir Singh <balbir@...>, Serge E. Hallyn <serue@...>, <containers@...>
(Please skip to the message end first, as I think you may not care about
the next bit of my blathering)
Right now they are only good for providing some separate accounting for
uid 1000 in one user namespace versus uid 1000 in another namespace.
All security enforcement must be done by actually providing separate
filesystems and separate pid namespaces and, hopefully, with a selinux
policy.
Eventually the idea will be that uid 1000 in one user namespace and uid
1000 in another namespace will be completely separate entities. A
mounted filesystem will be tied to a particuler user namespace, and
the kernel will provide any cross-userns access perhaps the way I
described, with uid equivalence implemented through the keyring.
But note that this isn't really relevant when we get to NFS. Two user
namespaces on one machine should have different network namespaces and
network addresses as well, and so should look to the NFS server like two
separate machines.
So the user namespaces are only really relevant when talking about local
filesystems.
Since this is over NFS, you handle it the way you would any other time
that user Alice on some other machine managed to do this.
Right, so long as we're talking about local filesystems that's the way
to go. If a file write was allowed which brought bob over quota,
clearly the person responsible had some uid valid on the filesystem to
allow him to do so.
Ok, now I see. This is again unrelated to user namespaces, it's an
issue regardless.
Is there no way to just report Alice as the guilty party to Bob on his
machine as (host=nfsserver,uid=1000)?
-serge
-