POSIX perms, perpetual pain

I’m trying to get permissions sorted out after updating a few versions of Scale.
I’ve read the great tutorials linked previously Linux ACL Permissions Tutorial - Tyler's Guides but must still be missing something.
Here are the permissions for the dataset as they stand now.

Ideally the owner would be root, with various users that I add to the list having the specified access.
I am accessing this dataset via SMB and NFS.
For NFS the IP addresses are correctly listed.
For SMB, the Share ACL is standard, everyone@ FULL ALLOWED
In Windows 11, I can navigate to this share and view the top level folder list, but can’t access any sub-folders.

Any help is appreciated.

Your filesystem permissions are only granting access to root:root. You need to set default entries.

To clarify: the access ACL (non-default entries) specify the ACL as it is set on the dataset mountpoint. The default ACL specifies how it is applied in recursive operations on the dataset level. When you’re resetting the ACL you’re only granting your user access to the top-level directory, so this is behaving exactly as you’ve specified it.

Oh I thought the Default flag was to specify ownership of newly created dirs/files.
That’s why I added the 2 entries near the bottom. Should I remove those 2? What should I put in their place?

How do I change the perms for the whole structure? When I add users, I select the checkbox for “Apply permissions recursively”.

You need group->david default permission as well and grant OTHER for default as well.

Alternatively, you can ditch posix ACLs and use the more user-friendly NFSv4-style

I’m tempted to do that. Are there any disadvantages with switching?

Is this right?

Added default to Group - david with R/W/E, and for the Other with R/E I added the default flag.
There’s another Other below with no permissions, that already had default flagged.

I wasn’t able to make the 2nd OTHER default as well. It gave an error about only allowing one default OTHER.
I was able to mark user david as default, but it didn’t allow access.
I also added user docker, flagged it as default, but it can’t access the share either.

You can only have one entry for UGO. Additional groups / users require a MASK entry (only one of these too). In most typical cases you will want identical default / non-default entries.

One entry per UGO, e.g. Only 1 for root, one for docker?
It does seem I need multiple OTHER. It won’t me save without a default and a non default other.
Does the order of the entries matter? e.g. does the MASK have to be between different user/group entries? If not, how do you match a MASK entry to the particular user/group?

No.
U == USER_OBJ
G == GROUP_OBJ
O == OTHER

C.f. RFC for POSIX1E ACLs.

Sorry, I’ll continue looking elsewhere.
I have read it and the Tyler’s guide and I still don’t understand.