Thread (60 messages) flat view 60 messages, 5 authors, 2022-10-06

Re: [PATCH v4 04/30] fs: add new get acl method

From: Miklos Szeredi <miklos@szeredi.hu>
Date: 2022-10-06 09:08:22
Also in: linux-fsdevel

On Thu, 6 Oct 2022 at 09:41, Christian Brauner [off-list ref] wrote:
On Thu, Oct 06, 2022 at 08:31:47AM +0200, Miklos Szeredi wrote:
quoted
On Wed, 5 Oct 2022 at 09:15, Christian Brauner [off-list ref] wrote:
quoted
We're just talking about thet fact that
{g,s}etxattr(system.posix_acl_{access,default}) work on cifs but
getting acls based on inode operations isn't supported. Consequently you
can't use the acls for permission checking in the vfs for cifs. If as
you say below that's intentional because the client doesn't perform
access checks then that's probably fine.
Now I just need to wrap my head around how this interacts with all the
uid/gid transformations.
Currently it doesn't because cifs doesn't support idmapped mounts.
quoted
Do these (userns, mnt_userns) even make sense for the case of remotely
checked permissions?
Namespaces are local concepts. They are relevant for permission checking
and are e.g., used to generate a {g,u}id that may be sent to a server. A
concrete example would be a network filesystems that would change the
ownership of a file and the client calls it's ->setattr() inode
operation. The fs_userns and/or mnt_userns is used to generate a raw
{g,u}id value to be sent to the server (So all netns call from_kuid()
ultimately to send a raw {g,u}id over the wire. The server can then do
whatever additional permission checking it wants based on that {g,u}id.

For acls it's the same. We use the namespaces to generate the raw values
and send them to the server that stores them. Either in the acl uapi
format or if the netfs has a custom format for acls or translate them
into it's own acl format. The server can then use them for permission
checking however it wants. But if the server allows the client to
retrieve them during permission checking in the vfs then we need to
translate that raw format from the server into the proper local format
again at which point the namespaces are relevant again.
I hope that helped.
Yes, I got it now.

Thanks,
Miklos
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help