I am trying to understand the way the filesystem and the kernel are related, and how they work together, specifically regarding the permissions.
(I know that, in fact, the filesystem is running in kernel space, but in this context I consider them as two separates entities.)
When Bob (UID=1001, GID=1001, groups="humans, minor") tries to read "file.txt" which is, let's say, "rwx r-- --x" with "owner = Alice" and "group owner = minor" -- which one, of the kernel and the filesystem, permits access?
Does the filesystem have a function taking as parameters the entire list of Bob's groups, Bob's UID and other stuff sent by the kernel (which would allow the filesystem to determine whether Bob can or cannot read the targeted file)?
Furthermore, if this is the way it works -- how does the kernel know the data the filesystem needs for extended/special attributes? In the case of synology extended attributes (ext4/btrfs) for example.
Many thanks for any help / resources to read.